添加AJAX控件后,不能调出窗口的解决办法

在ASP.NET页面上添加AJAX控件后,不能调出窗口的解决办法:
1.ASP.NET2.0中AJAX使用新的Manager 类来管理,而不兼容原来的 ClientManager 类 ,所以用<>alert('提示:产品添加成功!')</>和
this.Client.RegisterClientBlock(this.GetType(), "name", "<>alert('提示:产品添加成功!');</>", true);
Page.Client.RegisterClientBlock(this.GetType(), "name", "<>alert('提示:产品添加成功');</>", true);
这些方法都是无效的.
2.可以用以下方法写代码实现
Manager.RegisterStartup(UpdatePanel1, UpdatePanel1.GetType(), "", "alert('提示:产品添加成功!');if(confirm('是否继续添加?取消转到产品管理页')){alert('本页面继续添加')}else{open('productManage.aspx','_self');}", true);
3. 我把上面的简化了下,实现最简单的提示问题
就写在button的单击事件下
Manager.RegisterStartup(UpdatePanel1,UpdatePanel1.GetType(),"","alert('成功')",true);
或写在html语言上面,以下面这种形式书写:
<script runat=server>
string str = "abc";
ScriptManager.RegisterStartup(this.UpdatePanel1,this.GetType(),"Click","alert('" + str + "')",true)
</string>
下面介绍一下ScripteManager.RegisterStartupScript参数:
在AJAX支持的网站中使用想使用Response.Wrie(“”); 或 Page. RegisterStartupScript (); 弹出一些提示对话框,没有效果。有如下两种解决方法:
(1)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
type-------这个参数是注册脚本块控件的类型,即updatepanel的类型。一般直接用this.GetType()即可
key--------为要执行的javascirpt语句起的名字,可以随便起,类似控件的name属性
script-----javascript语句
addScriptTags------为true时,前边的script参数可以不用再写javascript标签;为false,则需自己为script参数添加<script language=’javascript’></script>标签。
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Click", "alert('审核完毕!')", true);
原文地址:https://www.cnblogs.com/hubcarl/p/1412705.html