.net使用ScriptManager和UpdatePanel无法弹出窗口如何解决
.net使用静态刷新控件ScriptManager和UpdatePanel无法弹出窗口如何解决
如果在页面里面用到了ScriptManager,里面再放个更新面板,那客户端的弹出对话框就不起作用了。
例如:
Page.ClientScript..RegisterStartupScript(this.GetType(),
这句验证就失去了作用。
那就要到以下的:
一:
ScriptManager.RegisterStartupScript(this.btnOK,
第一个参数:
最后一个参数:使用了true
二:
前台代码:
<div>
后台代码:
protected void btnCommit_Click(object sender, EventArgs e)
}
项目例子如下:
PS:
因为ScriptManager是AJAX控件,页面使用AJAX进行无刷新改动,改完后发现原来程序中Response.Write("")都不能使用,有冲突,解决方法:
可以使用 System.Web.UI.ScriptManager.RegisterStartupScript(Contrl control, Type type,string key,string script, bool addScriptTags)来达到相应的目的。
其中control是引起回发事件的控件ID,type客户端脚本类型,key脚本块标识,script要执行的脚本程序,addScriptTags 如果为true 则前面的脚本语句中不需要加标识若为false 则要写出完整的脚本语句实例:
或者另外种方法可以用HttpContext.Current.Handler来代替controlID,不过使用前需要转化为System.Web.UI.Page.
实例:
ScriptManager.RegisterStartupScript((System.Web.UI.Page)HttpContext.Current.Handler, this.GetType(), "ShowMessage", "alert('成功');", true);