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)
上一篇 2022年7月20日 上午6:46
下一篇 2022年7月20日 上午6:46


相关推荐

  • python中矩阵的转置_[转]Python中的矩阵转置[通俗易懂]

    python中矩阵的转置_[转]Python中的矩阵转置[通俗易懂]Python中的矩阵转置via需求:你需要转置一个二维数组,将行列互换.讨论:你需要确保该数组的行列数都是相同的.比如:arr=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]列表递推式提供了一个简便的矩阵转置的方法:print[[r[col]forrinarr]forcolinrange(len(arr[0]))][[1,4…

    2022年5月29日
    48
  • hystrix实现服务降级的3种方式[通俗易懂]

    hystrix实现服务降级的3种方式[通俗易懂]1、hystrix是什么Hystrix是一款开源的容错插件,具有依赖隔离,系统容错降级等功能,这也是其最重要的两种用途,还有请求合并等功能2、为什么要进行隔离在实际工作中,尤其是分布式、微服务越来越普遍的今天,一个服务经常需要调用其他的服务,即RPC调用,而调用最多的方式还是通过http请求进行调用,这里面就有一个问题了,如果调用过程中,因为网络等原因,造成某个服务调用超时,如果没有熔断机制…

    2022年4月30日
    127
  • Shell脚本编程_shell简单脚本

    Shell脚本编程_shell简单脚本文章目录1.shell概述1.1shell和shell脚本1.2Shell脚本应用场景1.4shell类型1.shell概述1.1shell和shell脚本  shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务,在用户和内核之间充当翻译官的角色,是一个命令解释器。KenThompson的sh是第一种UnixShell,WindowsExplorer是一个典型的图形界面shell。  shell脚本(

    2026年4月14日
    7
  • VS2019安装和使用教程(超详细)

    VS2019安装与使用教程可能有很多小伙伴们,知道VS2019这个软件,但是不知道怎么安装与使用,下面我将具体介绍VS2019的安装方法与创建我们自己的C++项目以及如何运行自己编写的代码!VisualStudio2019(VS2019)简介        MicrosoftVisualStudio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要

    2022年4月8日
    3.0K
  • matlab画图标签,Matlab绘图[通俗易懂]

    matlab画图标签,Matlab绘图[通俗易懂]要使用plot函数来绘制图形,需要执行以下步骤:通过指定要绘制函数的变量x的值的范围来定义x。定义函数,y=f(x)调用plot命令,如下:plot(x,y)以下示例将演示该概念。下面绘制x的值范围是从0到100,使用简单函数y=x,增量值为5。创建脚本文件并键入以下代码-x=[0:5:100];y=x;plot(x,y)执行上面示例代码,得到以下结果-下面再来一个例子来绘制…

    2022年6月24日
    36
  • Laravel数据库操作的三种方式

    Laravel数据库操作的三种方式

    2021年10月26日
    40

发表回复

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

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