ScriptManager.RegisterStartupScript方法[通俗易懂]

ScriptManager.RegisterStartupScript方法[通俗易懂]出处:忘记了,致歉作者 如果页面中不用Ajax,cs中运行某段js代码方式可以是:Page.ClientScript.RegisterStartupScript(Page.GetType(),””,”window.open(‘default2.aspx’)”);如果页面中使用了Ajax,则上述代码即使执行也无效果。对这种情况我们通常采用:ScriptManag

大家好,又见面了,我是你们的朋友全栈君。

出处:忘记了,致歉作者
 
如果页面中不用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代码是这样的

复制代码

ScriptManager.RegisterStartupScript方法[通俗易懂]

<
div
>

    

<
asp:UpdatePanel 
ID
=”UpdatePanel1″
 runat
=”server”
>

        

<
ContentTemplate
>

            

<
asp:TextBox 
runat
=”server”
 ID
=”TextBox2″
 
>

            

</
asp:TextBox
>

            

<
asp:Button 
runat
=”server”
 Text
=”Button”
 ID
=”Button1″
 onClick
=”Button1_Click”
 
/>

        

</
ContentTemplate
>

        

<
Triggers
>

            

<
asp:PostBackTrigger 
ControlID
=”Button1″
 
/>

        

</
Triggers
>

     

</
asp:UpdatePanel
>


</
div
>

复制代码

我在Button1_Click的事件里注册脚本,一定要加红色的部分,否则总是提示不能parse什么东西!

另外,js无法干涉cs代码。所以一旦脚本注册成功,js和cs代码会互不相干的各自运行。

 

以上的内容来自别人的文章,现在说一下自己的使用体会:在按钮Button1的onClick事件中注册脚本可以这样写:ScriptManager.RegisterStartupScript(this.UpdatePanel1, Page.GetType(), System.DateTime.Now.Ticks.ToString(), “window.open(‘default2.aspx’);”, true);页面中的红色部分也可以去掉了。现在对第三个参数“脚本函数的名称”要特别说明一下,

如果在onClick事件中,使用该方法注册了两个脚本。如果注册的两个脚本函数的名称相同,则第二个脚本函数就不会执行。因为脚本管理器使用此字符串来分析是否是一个已经加载过的脚本,如果加载过,将不会再次渲染。所以第二个就不会加载执行了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158643.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月13日 上午8:00
下一篇 2022年7月13日 上午8:16


相关推荐

  • 阿里云、腾讯云、UCloud和AWS的云主机测评

    阿里云、腾讯云、UCloud和AWS的云主机测评前言云计算和大数据早已成了炙手可热的话题 各大云服务商近年来也相继推出了覆盖广泛的各类新鲜云服务 其中云主机和云存储应该算得上是使用最普遍的业务了 由于每家云服务商采用的硬件型号 架构和优化技术都不尽相同 不同云服务商相同配置的云主机之间就存在一定的性能差距 为了弄清这个差距 给大家的选购提供参考 今天我们将着重对云主机性能方面做一系列测试 本次云主机的主要测评对象为阿里云 腾讯云和 UCloud 三家的云主机 它们在国内都拥有提供成熟稳定的云主机产品的能力 AWS 为亚马逊云 在本次测评中起参照

    2026年3月17日
    2
  • phpstorm 2017.1.x 激活方法

    phpstorm 2017.1.x 激活方法1 licenseserve 在线激活方式不是很推荐 自己有服务器的话可以考虑搭建所以就不说了 不过我在网上找了一些地址 可以用一下 不保证长期有效 http idea goxz gq nbsp http v2mc net 1017 nbsp http idea imsxm com nbsp http idea ibdyr com 不好的地方就是 没有联网就提示不

    2026年3月26日
    2
  • Spark部分流程说明

    Spark部分流程说明

    2021年8月10日
    58
  • 内连接、左外连接与右外连接的区别及作用介绍

    内连接、左外连接与右外连接的区别及作用介绍SQL语句当中比较难的部分就有今天要给朋友们分享的这个,innerjoin,leftjoin和rightjoin他们三个的作用以及区别是什么。顺便也会把交叉连接一起分享了。上面会分享一些基本的语法与使用,下方会详细介绍1)交叉连接,又称笛卡尔积SELECT*FROMtb1CROSSJOINtb2;//简写SELECT*FROMtb1,tb2;2)内连接//语法SELECTsome_columnsFROMtable1INNERJOINta

    2022年10月21日
    5
  • 桌面软件图标变成白纸的解决方法是什么_笔记本桌面图标变成白纸

    桌面软件图标变成白纸的解决方法是什么_笔记本桌面图标变成白纸在桌面上新建一个txt文件:在文件里输入以下内容并保存:rem关闭Windows外壳程序explorertaskkill/f/imexplorer.exerem清理系统图标缓存数据库attrib-h-s-r“%userprofile%\AppData\Local\IconCache.db”del/f“%userprofile%\AppData\Loca…

    2022年10月18日
    7
  • Lytro的教训:曾经的光场神器为何不行了?

    Lytro的教训:曾经的光场神器为何不行了?Lytro 的教训 曾经的光场神器为何不行了 腾讯科技 微博 杜会堂 2015 年 03 月 31 日 07 09 分享 摘要 产品开发和成本控制等问题让 Lytro 举步维艰 相机越来越小众的市场则让 Lytro 最终被迫调整业务方向 研究结论 1 手机 相机等硬件产品的开发周期比软件更长 因此为产品添加功能时应更加谨慎 2 大众型

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号