ScriptManager.RegisterStartupScript 方法

ScriptManager.RegisterStartupScript 方法1、ScriptManager.RegisterStartupScript方法(Page,Type,String,String,Boolean): 参数page类型:System.Web.UI.Page正在注册该客户端脚本块的页对象。type类型:System.Type该客户端脚本块的类型。通常使用typeof运算符(C#)或GetType运算符(VisualBasic)来指定该参数,以检索正在注册该脚本的控件的类型。key类型:System.String该脚本块的唯一标识符。

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

1、ScriptManager.RegisterStartupScript 方法 (Page, Type, String, String, Boolean):

 

参数

page

类型:
System.Web.UI.Page


正在注册该客户端脚本块的页对象。

type

类型:
System.Type


该客户端脚本块的类型。
通常使用 typeof 运算符 (C#) 或 GetType 运算符 (Visual Basic) 来指定该参数,以检索正在注册该脚本的控件的类型。

key

类型:
System.String


该脚本块的唯一标识符。

script

类型:
System.String


脚本。

addScriptTags

类型:
System.Boolean


如果用 <script></script> 标记括起该脚本块,则为 true;否则为 false

2、ScriptManager.RegisterStartupScript 方法 (Control, Type, String, String, Boolean)

参数

control

类型:
System.Web.UI.Control


正在注册该客户端脚本块的控件。

type

类型:
System.Type


该客户端脚本块的类型。
通常使用 typeof 运算符 (C#) 或 GetType 运算符 (Visual Basic) 来指定该参数,以检索正在注册该脚本的控件的类型。

key

类型:
System.String


该脚本块的唯一标识符。

script

类型:
System.String


脚本。

addScriptTags

类型:
System.Boolean


如果用 <script></script> 标记括起该脚本块,则为 true;否则为 false

3、使用体会

如果页面中不用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″ 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/162306.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Quartz任务中调用Spring容器中bean及动态调度任务-SchedulerFactoryBean「建议收藏」

    Quartz任务中调用Spring容器中bean及动态调度任务-SchedulerFactoryBean「建议收藏」Quartz是开源任务调度框架中的翘首,它提供了强大任务调度机制,同时保持了使用的简单性。Quartz允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行关联映射。此外,Quartz提供了调度运行环境的持久化机制,可以保存并恢复调度现场,即使系统因故障关闭,任务调度现场数据并不会丢失。此外,Quartz还提供了组件式的侦听器、各种插件、线程池等功能。Spring为…

    2022年5月23日
    98
  • java 查看进程状态_java执行shell命令并返回结果

    java 查看进程状态_java执行shell命令并返回结果进入到当前java进程的目录下(这里使用Test01.clss)使用jps查看该进程的pid使用jstack命令查看该进程运行状态信息并将日志信息打印到指定位置的dump文件中打印统计所有线程此时的状态可以看到一共有29条线程存在查看线程的状态…

    2022年8月23日
    6
  • 记忆化搜索专题

    记忆化搜索专题什么是记忆化搜索呢?搜索的低效在于没有能够很好地处理重叠子问题;动态规划虽然比较好地处理了重叠子问题,但是在有些拓扑关系比较复杂的题目面前,又显得无奈。记忆化搜索正是在这样的情况下产生的,它采用搜索的形式和动态规划中递推的思想将这两种方法有机地综合在一起,扬长避短,简单实用,在信息学中有着重要的作用。  用一个公式简单地说:记忆化搜索=搜索的形式+动态规划的思想。  动态规划:就是一个最优化

    2022年7月26日
    9
  • rabbitmq基本原理_计算尺使用的是什么原理

    rabbitmq基本原理_计算尺使用的是什么原理RabbitMQ使用以及原理解析RabbitMQ是一个由erlang开发的AMQP(AdvanvedMessageQueue)的开源实现;在RabbitMQ官网上主要有这样的模块信息,Workqueues消息队列,Publish/Subscribe发布订阅服务,Routing,Topics,RPC等主要应用的模块功能.几个概念说明:Broker:它提供一种传输服务,它的角色…

    2022年9月25日
    1
  • sqlserver日期格式化年月_calendar格式化日期

    sqlserver日期格式化年月_calendar格式化日期SQLServer日期格式化SelectCONVERT(varchar(100),GETDATE(),0):0516200610:57AMSelectCONVERT(varchar(100),GETDATE(),1):05/16/06SelectCONVERT(varchar(100),GETDATE(),2):06.05.16SelectCONVE…

    2022年10月21日
    2
  • 人生的抉择-创业纪录片(二)-起步期

    人生的抉择-创业纪录片(二)-起步期

    2021年8月12日
    68

发表回复

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

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