解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题

System.Web.UI.ScriptManager.RegisterStartupScript来替代Page.ClientScript.RegisterStartupScript
函数原型:
System.Web.UI.ScriptManager.RegisterStartupScript(Contrl control, Type type,string key,string script, bool addScriptTags);
参数:
control-----------------要要注册此段javascript语句的控件ID,如下面示例的按钮ID btnUnReport
type--------------------这个参数是注册脚本块控件的类型,即updatepanel的类型。一般直接用this.GetType()即可
key---------------------为要执行的javascirpt语句起的名字,可以随便起,类似控件的name属性
script------------------javascript语句
addScriptTags------ 为true时,前边的script参数可以不用再写javascript标签;为false,则需自己为script参数添加<script language=’javascript’></script>标签。

注:要多传一个Control参数,如果这个control在UpdatePanel里,则运行脚步,如果这个control不在UpdatePanel则不允许这段脚步。
例如:

System.Web.UI.ScriptManager.RegisterStartupScript(btnTestthis.GetType(), "test", "alert(''test'');window.close();", true);

原文地址:https://www.cnblogs.com/homezzm/p/1610990.html