RegisterStartupScript(key, script)
RegisterClientScriptBlock(key, script)
这两个方法的作用都是从前台向后台写脚本,且都接受两个相同的参数:
     第一个参数 key 是插入的客户端脚本的唯一标识符。
     第二个参数 script 是要插入到页面中的客户端脚本内容,包括 <script> 的起始标记和终止标记</script>。
    
   这两个方法唯一的不同之处在于向“何处”注册脚本块。
         RegisterClientScriptBlock(key, script) 在 form开始处(紧接 <form runat="server"> 标识之后)发送脚本块     
         使用场景:
               一般不使用DOM元素
         RegisterStartupScript(key, script) 在 form结尾处(在 </form> 标识之前)发送脚本块,在document装载完成后会执行,等价于body.onload=f(){}里的内容
         使用场景:
               一般要使用DOM元素,比如:修改dom元素的值等

——————————————————————————————————————————————————————————————————————

Page.ClientScript.RegisterClientScriptBlock & Page.ClientScript.RegisterStartupScript

1、使用Page.ClientScript.RegisterClientScriptBlock RegisterClientScriptBlock方法可以把JavaScript函数放在页面的顶部。也就是说,该脚本用于在浏览器中启动页面。

<%@ Page Language="C#"%>

<script runat="server">

protectedvoid Page_Load(object sender,EventArgs e)

{

string myScript =@"function AlertHello() { alert('Hello ASP.NET'); }";

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "MyScript",myScript,true);

}

</script>

在这个例子中,把JavaScript函数AlertHello()创建为一个字符串myScript。然后使用Page. ClientScript.RegisterClientScriptBlock方法编写放在页面上的脚本。RegisterClientScriptBlock方法的两个构建方式如下:

● RegisterClientScriptBlock (type,key,script)

● RegisterClientScriptBlock (type,key,script,script tag specification)

4.4.2 使用Page.ClientScript.RegisterStartupScript RegisterStartupScript方法与RegisterClientScriptBlock方法的区别不大。

最大的区别是RegisterStartupScript把脚本放在ASP.NET页面的底部,而不是顶部。

实际上,RegisterStartup Script方法甚至使用与RegisterClientScriptBlock方法相同的构造函数:

● RegisterStartupScript (type,key,script)

● RegisterStartupScript (type,key,script,script tag specification) 那么,在页面上注册脚本的过程有什么区别?

实际上区别很大! 如果在页面上有一些处理控件的JavaScript,在大多数情况下应使用RegisterStartupScript方法,而不是RegisterClientScriptBlock方法。

就是,查找、调用页面控件的时候,就使用Page.ClientScript.RegisterStartupScript

4.4.3使用Page.ClientScript.RegisterClientScriptInclude

最后一个方法是RegisterClientScriptInclude。许多开发人员都把JavaScript放在.js文件中,这是最好的方式,

因为很容易把对JavaScript的修改应用于整个应用程序。使用RegisterClientScriptInclude方法可以在ASP.NET页面上注册脚本文件,

如下所示。

string myScript = "myJavaScriptCode.js" Page.ClientScript.RegisterClientScriptInclude("myKey",myScript);

RegisterStartupScript和RegisterClientScriptBlock区别的更多相关文章

  1. RegisterStartupScript和RegisterClientScriptBlock的用法

    RegisterStartupScript和RegisterClientScriptBlock的用法 RegisterStartupScript(key, script) RegisterClient ...

  2. C# 从后台代码同步或异步注册Javascript到页面之RegisterStartupScript和RegisterClientScriptBlock的区别

    下面来讲讲同步注册JS和异步注册JS的区别 同步注册JS:RegisterClientScriptBlock,相当于在 form开始处(紧接 <form runat="server&q ...

  3. RegisterStartupScript和RegisterClientScriptBlock的区别

    1.  //注册到 <form> 尾部 ,HTML元素已加载完毕    this.Page.ClientScript.RegisterStartupScript(this.GetType( ...

  4. ASP.NET中RegisterStartupScript和RegisterClientScriptBlock有区别吗

    今天用RegisterClientScriptBlock()方法调用了alertify.js(绚丽的实现alert()同样的提示功能): Page.ClientScript.RegisterClien ...

  5. ClientScriptManager 和 ScriptManager RegisterClientScriptBlock

    ClientScriptManager.RegisterOnSubmitStatement(Type, String, String) Method Registers an OnSubmit sta ...

  6. RegisterClientScriptBlock 与 RegisterStartupScript 的区别

    RegisterClientScriptBlock.RegisterStartupScript 都是注册一个脚本块. ClientScript.RegisterClientScriptBlock(th ...

  7. ASP.NET in C#,ClientScript.RegisterStartupScript与ClientScript.RegisterClientScriptBlock用法之己见

    ClientScript.RegisterStartupScript:http://msdn.microsoft.com/zh-cn/library/system.web.ui.clientscrip ...

  8. ScriptManager和ClientScript的区别

    ClientScript获取用于管理脚本.注册脚本和向页面添加脚本的ClientScriptManager对象. ScriptManager.RegisterStartupScript方法和Clien ...

  9. ASP.NET 给作为隐藏域的TextBox赋值之后提交表单,无响应?

    操作步骤: 给页面隐藏TextBox赋值,然后触发ASP.NET change事件,调用ASP.NET后台方法,调用后执行客户端脚本this.RegisterClientScriptBlock(Dat ...

随机推荐

  1. HDU 1874 畅通公程续 (最短路 水)

    Problem Description 某省自从实行了非常多年的畅通project计划后,最终修建了非常多路.只是路多了也不好,每次要从一个城镇到还有一个城镇时,都有很多种道路方案能够选择,而某些方案 ...

  2. 【 D3.js 进阶系列 — 1.1 】 其它表格文件的读取

    CSV 表格文件是以逗号作为单元分隔符的,其他还有以制表符 Tab 作为单元分隔符的 TSV 文件,还有人为定义的其他分隔符的表格文件.本文将说明在 D3 中怎样读取它们. 1. TSV 表格文件是什 ...

  3. 开源Math.NET基础数学类库使用(01)综合介绍

    原文:[原创]开源Math.NET基础数学类库使用(01)综合介绍 开源Math.NET基础数学类库使用系列文章总目录:   1.开源.NET基础数学计算组件Math.NET(一)综合介绍    2. ...

  4. RH033读书笔记(13)-Lab 14 Network Clients

    Goal: Practice using a variety of tools to transfer files between your system and a remote system. S ...

  5. Hibernate-----5、持久化对象

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVrZXdhbmd6aQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  6. AFHTTPRequestOperationManager当一个网络请求加入菊花

    问: Can you help me to understand, how to use UIActivityIndicatorView+AFNetworking or UIProgressView+ ...

  7. etl工具,kettle实现了周期

    Kettle这是国外的来源ETL工具,纯java写.能Window.Linux.Unix在执行.绿色无需安装,稳定高效的数据提取. 业务模型: 在关系型数据库中有张非常大的数据存储表,被设计成奇偶库存 ...

  8. AspNet MVC4 教育-28:Asp.Net MVC4 Ajax技术部门四舍五入余速Demo

    A.创建一个Basic项目类型. B.于Models创建一个文件夹: DivModel.cs: using System; using System.Collections.Generic; usin ...

  9. Atitit..文件上传组件选择and最佳实践的总结(2)----HTTP

    Atitit..文件上传组件选型and最佳实践总结(2)----断点续传 1. 断点续传的原理 1 2. 怎样推断一个插件/控件是否支持断点续传?? 1 3. 经常使用的组件选型结果::马 1 4.  ...

  10. Git现实(一个)版本控制概述

    从今天开始.我们了解的分布式版本控制系统Git相关内容.了解Git之前,我们的第一个版本控制系统,使宏观的描述. 什么是版本号控制 版本号控制是指通过对文件内容的变化进行记录,并为每次的变化进行编号, ...