【100分】疑难问题,请高手围观,不吝赐教!!!!

丰云 2012-03-30 01:27:34
在artDialog弹出页面里,有个GridView1,删除功能正常执行,但就是不弹出消息框,也不刷新GridView1
查了好久,也没找到问题在哪里。。。。
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "delete")
{
string account = e.CommandArgument.ToString().Trim();
string sql = "delete accounts where Account = @account";
SqlParameter[] p = new SqlParameter[] {
new SqlParameter("@account", account),
};
if (baseclass.ExecuteSql(sql, p) > 0)
{
BindGrid(); //刷新GridView1
ShowMessage("账号删除成功!");
Log.WriteLog("用户:【" + model.Username + "】删除账号【" + account + "】");
}
else
{
ShowMessage("系统忙,请稍后再试!");
Log.WriteLog("用户:【" + model.Username + "】删除账号【" + account + "】失败");
}
}

}
期待高人指点指点,不胜感激!!!
...全文
279 29 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
丰云 2012-04-24
  • 打赏
  • 举报
回复
好久了,
都忘记结贴咯。。。。
问题解决了,
现在跟大家分享下:

在我改的这本程序里,
GridView1的操作列的按钮控件,
有个属性CommandName="delete"
这个是多余的,
因为它会引发GridView1的delete事件,
而这个GridView1的delete事件是由OnRowCommand触发,
这样会导致两次提交。
因此,去掉这个CommandName="delete"就OK了

改别人的代码,头疼!!
现在是感受深刻啊。。。。。
shumark 2012-03-31
  • 打赏
  • 举报
回复
ShowMessage("账号删除成功!");
是服务器端执行还是客服端执行的?
IssacChow 2012-03-31
  • 打赏
  • 举报
回复
你应该失败会有提示的!!!!!
你可以这样,不管成功失败,只有最后的时候才bind()
我做的全选删除也是这样的,因为绑定的过早,结果只能删除一项!
改改,到外面再bind()就可以了
阿非 2012-03-31
  • 打赏
  • 举报
回复
弄个能复现问题的下载链接
小小农民 2012-03-31
  • 打赏
  • 举报
回复
BindGrid(); //刷新GridView1
会不会是再绑定时没有把GridView1原来值清空啊!
壁橱里的老王 2012-03-31
  • 打赏
  • 举报
回复

重新绑定BindGrid()要先清空之前的。
baseclass是你自己写的吧,这个的返回值是什么?是大于0的整数吗?
debug 看看有没有异常,或者try catch 把异常输出看看
壁橱里的老王 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

string sql = "delete accounts where Account = @account";
sql语句少个from 能正常删除??
[/Quote]没有from 可以的
lhk 2012-03-31
  • 打赏
  • 举报
回复
BindGrid(); 这个方法应该谁在删除成功以后在调吧?
wangchunfangs 2012-03-31
  • 打赏
  • 举报
回复

改成
ScriptManager.RegisterStartupScript(this, this.GetType(), "str", "<script>alert('账号删除成功')</script>", false);
真相重于对错 2012-03-30
  • 打赏
  • 举报
回复
你这种方式最好用ajax,前台就管前台,后台就管后台
肖无疾 2012-03-30
  • 打赏
  • 举报
回复
你的弹窗方式不会刷新
丰云 2012-03-30
  • 打赏
  • 举报
回复
这个问题根本在于后台代码和前台页面互动的问题
丰云 2012-03-30
  • 打赏
  • 举报
回复
请大家看我11楼的回复,
不要再在ShowMessage上面纠结了。。。。。
E次奥 2012-03-30
  • 打赏
  • 举报
回复


ShowMessage是在这个页面上定义的吗?还是系统?

呆子罗 2012-03-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

string sql = "delete accounts where Account = @account";
sql语句少个from 能正常删除??
[/Quote]
SQL Server里面是可以删除
ACCESS下面就要加个from
事理 2012-03-30
  • 打赏
  • 举报
回复
是否有用到ajax,ajax中提示消息是不同的


/// <summary>
/// Page.ClientScript.RegisterStartupScript提示消息
/// 模版页中提示消息不能用此方法,消息中有换行如\r\n,替换成\\r\\n
/// MessageBox.Show( "register", "消息内容!",this);
/// </summary>
/// <param name="message">消息内容</param>
/// <param name="key">要注册的要启动脚本的键,相当于提示消息的一个函数的名字</param>
/// <param name="page">当前页面对象,一般传入this</param>
public static void Show(string message, string key, Page page)
{
if (!page.ClientScript.IsClientScriptBlockRegistered(key))
page.ClientScript.RegisterStartupScript(page.GetType(), key, JavaScript_Head + "alert('" + message + "')" + JavaScript_Foot);
}

/// <summary>
/// ScriptManager.RegisterStartupScript提示消息
/// </summary>
/// <param name="message">消息内容</param>
/// <param name="key">要注册的要启动脚本的键,相当于提示消息的一个函数的名字</param>
/// <param name="updatePanel">UpdatePanel对象</param>
public static void Show(string message, string key, UpdatePanel updatePanel)
{
ScriptManager.RegisterStartupScript(updatePanel, updatePanel.Page.GetType(), key, "alert('" + message + "');", true);
}
EnForGrass 2012-03-30
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

现在甚至怀疑是不是ASP.NET的运行机制导致的。。。。
[/Quote]
这倒不会,肯定那地方出问题了
丰云 2012-03-30
  • 打赏
  • 举报
回复
现在甚至怀疑是不是ASP.NET的运行机制导致的。。。。
丰云 2012-03-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

BindGrid(); //刷新GridView1

ShowMessage("账号删除成功!");

从你的先后顺序看 先走了 bind 重新绑定

你先弹出对话框 再刷新 试试

或者先不弹框 看看能不能 bind()方法刷新
[/Quote]
这些都试过了,
包括删除成功后什么都不做,
直接
Response.Write("xxxxx");
Response.End();
都没反应。。。。
真相重于对错 2012-03-30
  • 打赏
  • 举报
回复
Reponse.Expire=-1????
加载更多回复(9)

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧