ScriptManager.RegisterStartupScript()方法在ajax页面无效的解决方法
更新时间:2010年03月08日 19:25:10 作者:
ScriptManager.RegisterStartupScript()方法在ajax页面无效的解决方法
如果不用Ajax,cs中运行某段js代码方式可以是:
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>window.open('default2.aspx')</script>");
如果页面中使用了Ajax ,则上述代码即使执行也无效果。应对这种情况我们通常采用:
ScriptManager.RegisterStartupScript(this.Button1, this.GetType(), "alertScript", "window.open('default2.aspx');", true);
其中第一个参数为要注册脚本的控件ID,试了一下,只要是本页面的就行。
第二个参数为注册脚本控件类型,是控件还是this的GetType()都可以,typeOf(string)也没问题.
第三个脚本函数的名字,随便起。
第四个是脚本内容。
第五个是标明是否再添加脚本标签,如果第四个参数里包含了<script></script>标签,此处则为false,否则为true。
注意:aspx代码是这样的
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox runat="server" ID="TextBox2" >
</asp:TextBox>
<asp:Button runat="server" Text="Button" ID="Button1" nClick="Button1_Click" />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
</div>
我在Button1_Click的事件里注册脚本,一定要加红色的部分,否则总是提示不能parse什么东西!
另外,js无法干涉cs代码。所以一旦脚本注册成功,js和cs代码会互不相干的各自运行。
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>window.open('default2.aspx')</script>");
如果页面中使用了Ajax ,则上述代码即使执行也无效果。应对这种情况我们通常采用:
ScriptManager.RegisterStartupScript(this.Button1, this.GetType(), "alertScript", "window.open('default2.aspx');", true);
其中第一个参数为要注册脚本的控件ID,试了一下,只要是本页面的就行。
第二个参数为注册脚本控件类型,是控件还是this的GetType()都可以,typeOf(string)也没问题.
第三个脚本函数的名字,随便起。
第四个是脚本内容。
第五个是标明是否再添加脚本标签,如果第四个参数里包含了<script></script>标签,此处则为false,否则为true。
注意:aspx代码是这样的
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox runat="server" ID="TextBox2" >
</asp:TextBox>
<asp:Button runat="server" Text="Button" ID="Button1" nClick="Button1_Click" />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
</div>
我在Button1_Click的事件里注册脚本,一定要加红色的部分,否则总是提示不能parse什么东西!
另外,js无法干涉cs代码。所以一旦脚本注册成功,js和cs代码会互不相干的各自运行。
相关文章
ASP.NET获取各级目录Server.MapPath详解全
ASP.NET获取各级目录Server.MapPath详解全,需要的朋友可以参考下。2011-12-12.NET使用System.Timers.Timer类实现程序定时执行
这篇文章介绍了.NET使用System.Timers.Timer类实现程序定时执行的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-07-07先装了FRAMEWORK,后装IIS导致asp.net页面无法访问的解决方法
如果先装了FRAMEWORK,后装IIS。有可能没有在IIS中注册,就会导致在页面中无法访问的情况2012-01-01Net Core全局配置读取管理方法ConfigurationManager
这篇文章主要为大家详细介绍了Net Core全局配置读取管理方法ConfigurationManager的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-08-08asp.net(C#)使用QRCode生成图片中心加Logo或图像的二维码实例
这篇文章主要介绍了asp.net(C#)使用QRCode生成图片中心加Logo或图像的二维码,结合实例形式详细分析了asp.net基于QRCode生成二维码的具体实现技巧,需要的朋友可以参考下2016-06-06运用.net core中实例讲解RabbitMQ高可用集群构建
这篇文章主要介绍了运用.net core中实例讲解RabbitMQ高可用集群构建,文中相关示例代码讲解的非常清晰,感兴趣的小伙伴可以参考一下这篇文章,相信可以帮助到你2021-09-09.net core webapi 大文件上传到wwwroot文件夹的操作代码
这篇文章主要介绍了.net core webapi 大文件上传到wwwroot文件夹的操作代码,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2023-12-12
最新评论