读书人

关于弹出删除提示的有关问题

发布时间: 2013-06-25 23:45:42 作者: rapoo

关于弹出删除提示的问题。
在UpdatePanel里有一个删除按钮

在它的点击事件里写了删除业务。

        protected void lbDelete_Click(object sender, EventArgs e)
{
// Common.MsgBox.Alert("是否删除!", "#");
//Page.ClientScript.RegisterStartupScript(this.GetType(), "hello", "<script>alert('你好!')</script>");
ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1, this.GetType(), "", "<script>window.confirm('是否删除?');}; </script>", true);
// ClientScript.RegisterClientScriptBlock(this.GetType(), "", "<script>window.confirm('是否删除?');}; </script>", false);


try
{
bll.Delete();
}
catch
{
Common.MsgBox.Alert("删除错误!", "#");
}
}


我现在想在删除之前弹出个提示框 如上代码 好几种方式都 不会显示出来。

如果再Load_Page里写 Attribute.Add("OnClick", "window.confirm('是否删除?');");
那么当我禁用这个删除按钮(lbDelete.Enabled = false)的时候 这个提示框仍然会显示出来、

有什么办法 只在启用这个删除按钮时弹出是否删除的提示框吗?
[解决办法]
我记得好像是要写个 return 吧, 不太记得

<script>window.confirm('是否删除?'); return false;</script> ??

<script>return window.confirm('是否删除?');</script> ??
[解决办法]
直接页面按钮上加
onclick="return confirm('是否删除?')"

如果是服务器控件
OnClientClick="return confirm('是否删除?')"
[解决办法]
引用:
Quote: 引用:

直接页面按钮上加
onclick="return confirm('是否删除?')"

如果是服务器控件
OnClientClick="return confirm('是否删除?')"


是服务器控件 我加上OnClientClick="return confirm('是否删除?')"确实能实现提示弹出
但是当这个控件被我禁用变灰色后点击它上面仍然弹出提示框 这就有点不尽如人意了。
怎么禁用按钮的?贴一下代码,设置了disabled的按钮是不会触发点击事件的
[解决办法]
onclick="JavaScript:return confirm('确定删除吗?')"

[解决办法]
引用:
如果再Load_Page里写 Attribute.Add("OnClick", "window.confirm('是否删除?');");


那么当我禁用这个删除按钮(lbDelete.Enabled = false)的时候 这个提示框仍然会显示出来、

有什么办法 只在启用这个删除按钮时弹出是否删除的提示框吗?


就事论事而言,既然你这个 OnClick 客户端代码仅在 Enabled==false 的时候才应该注册,那么这个代码就不应该写在 Page_Load中,应该写在 Page_PreRender 中。在Page_PreRender中才应该写
if( lbDelete.Enabled == false)
xxx.Attributes.Add("OnClick", "window.confirm('是否删除?');");
}


关于 Page_Load 与 Page_PreRender 的区别,请去了解asp.net页面的基本生命周期概念。软件设计师需要凭自己的力量去设计程序流程,不是只靠抄别人的。

读书人网 >asp.net

热点推荐