zoukankan      html  css  js  c++  java
  • ScriptManager.RegisterStartupScript()方法和Page.ClientScript.RegisterStartupScript() 方法详解

    ScriptManager.RegisterStartupScript()方法

    如果页面中不用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)也没问题.

    第三个参数为“脚本函数的名称”也就是脚本函数的名字,根据实现的功能起名字。

    第四个参数为 脚本内容。需要注意的是第4个参数是js脚本内容,每一条语句结束加分号

    第五个参数为 标明是否再添加脚本标签,如果第四个参数里包含了<script></script>标签,此处则为false,否则为true。

    注意:aspx代码是这样的js无法干涉cs代码。所以一旦脚本注册成功,js和cs代码会互不相干的各自运行。

    现在对第三个参数“脚本函数的名称”要特别说明一下,

    如果在onClick事件中,使用该方法注册了两个脚本。如果注册的两个脚本函数的名称相同,则第二个脚本函数就不会执行。

    因为脚本管理器使用此字符串来分析是否是一个已经加载过的脚本,如果加载过,将不会再次渲染。所以第二个就不会加载执行了。

    Page.ClientScript.RegisterStartupScript()方法

    使用类型、键、脚本文本和指示是否添加脚本标记的布尔值向 Page 对象注册启动脚本。

    参数:

    type 要注册的启动脚本的类型。
    key 要注册的启动脚本的键。
    script 要注册的启动脚本文本。
    addScriptTags 指示是否添加脚本标记的布尔值。

    备注:

    启动脚本由它的键和类型唯一标识。具有相同的键和类型的脚本被视为重复脚本。只有使用给定的类型和键对的脚本才能使用该页面进行注册。试图注册一个已经注册的脚本不会创建重复的脚本。

    调用 IsStartupScriptRegistered 方法以确定具有给定的键和类型对的启动脚本是否已经注册,从而避免不必要的添加脚本尝试。

    在 RegisterStartupScript 方法的此重载中,使用 addScriptTags 参数可指示 script 参数中提供的脚本是否包装在 <script> 元素块中。将addScriptTags 设置为 true 指示脚本标记将自动添加。

    RegisterStartupScript 方法添加的脚本块在页面加载完成但页面的 OnLoad 事件引发之前执行。

  • 相关阅读:
    一 数据库备份与恢复 2 数据库恢复 2.2 数据库重定向与重建
    附录 常用SQL语句 Dynamic SQL
    alt_disk_install 克隆系统rootvg
    Mysql版本升级
    DB29.7 HADR环境升级
    EMC VNX系列存储维护
    保存最开始的flink code,  数据是自动生成而不是通过kafka
    opentsdb restful api使用方法
    flink 和 hbase的链接
    opentsdb
  • 原文地址:https://www.cnblogs.com/BrokenIce/p/5132154.html
Copyright © 2011-2022 走看看