关于弹出删除提示的问题。
在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('是否删除?')"
[解决办法]
怎么禁用按钮的?贴一下代码,设置了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页面的基本生命周期概念。软件设计师需要凭自己的力量去设计程序流程,不是只靠抄别人的。