出处:忘记了,致歉作者
如果页面中不用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事件中,使用该方法注册了两个脚本。如果注册的两个脚本函数的名称相同,则第二个脚本函数就不会执行。因为脚本管理器使用此字符串来分析是否是一个已经加载过的脚本,如果加载过,将不会再次渲染。所以第二个就不会加载执行了。

ScriptManager.RegisterStartupScript方法相关推荐

  1. ajax scripmanager,ScriptManager.RegisterStartupScript()方法在ajax页面无效的解决方法

    ScriptManager.RegisterStartupScript()方法在ajax页面无效的解决方法 更新时间:2010年03月08日 19:25:10   作者: ScriptManager. ...

  2. ScriptManager.RegisterStartupScript()方法

    如果页面中不用Ajax cs中运行某段js代码方式可以是: Page.ClientScript.RegisterStartupScript(Page.GetType(),"",&q ...

  3. ScriptManager.RegisterStartupScript()方法在ajax页面无效

    如果不用Ajax,cs中运行某段js代码方式可以是: Page.ClientScript.RegisterStartupScript(Page.GetType(), "", &qu ...

  4. (转)ScriptManager.RegisterStartupScript方法和Page.ClientScript.RegisterStartupScript() 方法...

    ScriptManager.RegisterStartupScript方法 如果页面中不用Ajax,cs中运行某段js代码方式可以是: Page.ClientScript.RegisterStartu ...

  5. ScriptManager.RegisterStartupScript方法和Page.ClientScript.RegisterStartupScript() 区别

    ScriptManager.RegisterStartupScript方法 如果页面中不用Ajax,cs中运行某段js代码方式可以是: Page.ClientScript.RegisterStartu ...

  6. ScriptManager.RegisterStartupScript()的使用

    参数含义 public static void RegisterStartupScript(Control control,Type type,string key,string script,boo ...

  7. ScriptManager.RegisterStartupScript与ClientScript.RegisterStartupScript区别

    ScriptManager.RegisterStartupScript与ClientScript.RegisterStartupScript区别,他俩的方法基本一样,只是在特殊的场合要注意使用. 1. ...

  8. Page.ClientScript.RegisterStartupScript() 方法与Page.ClientScript.RegisterClientScriptBlock() 方法...

    最初可用的选项之一就是使用一个可实现此功能的 .NET 类来注册脚本块. 第一个是 RegisterStartupScript 方法.当您有一个想要在页面加载时 启动的 JavaScript 函数时, ...

  9. Page.ClientScript.RegisterStartupScript() 方法与Page.ClientScript.RegisterClientScriptBlock() 方法

    Page.ClientScript.RegisterStartupScript() 方法与Page.ClientScript.RegisterClientScriptBlock() 方法 Posted ...

最新文章

  1. 基于web创建逼真的3D图形 | CSS技巧
  2. openstack之horizon源码分析之二
  3. concurrenthashmap在1.8和1.7里面有什么区别
  4. MOSS的SPBuiltInFieldId成员的字段类型对照关系表
  5. 采用 Vue 编写的功能强大的 Swagger-ui 页面
  6. gp如何处理查询请求
  7. 【janino】janino 加载自定义函数
  8. 【网络安全工程师面试合集】——什么是IP安全 IPsec
  9. c 连接mysql自动断开_ESQL/C连接和断开数据库(INFORMIX) | 学步园
  10. Java基础学习,一些零散的笔记之抽象类与接口
  11. 烟道机器人_力荐顺义区清洗烟道价格多少钱值得信赖
  12. 物联网感知-分布式光纤振动传感主机实现基本原理
  13. PowerShell抓取电脑序列号
  14. linux 服务 ddns,Linux DDNS配置
  15. 处理安全检查的项目代码异常解决记录
  16. 为小巨人记一笔,等待明日新星的升起
  17. 工作感受月记 201906月
  18. 在亚马逊网上注册kindle 3及下载免费电子图书的步骤
  19. ASBR上配置外部OSPF路由汇总
  20. 服装企业ERP软件哪个公司好?施行服装ERP体系的要点是什么

热门文章

  1. 食亨CEO王泰舟对话新华社:餐饮数字化经营时代已经到来
  2. 道客巴巴文档下载方案
  3. Qt C++ 源码 开发《打飞机游戏》
  4. 游戏陪玩app开发基本功能应该具备哪些?
  5. 高速神经宽带接口,让大脑和计算机之间传输速度达新高
  6. 学习笔记 | 数据结构和算法 知识点思维导图
  7. 爱奇艺搜索排序算法实践(内附福利)
  8. ScratchJr-积木介绍
  9. Kafka Consumer位移(Offset)提交——解决Consumer重复消费和消息丢失问题
  10. office word使用技巧汇总