
正文
RegisterStartupScript和RegisterClientScriptBlock区别
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
RegisterStartupScript(key, script)
RegisterClientScriptBlock(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函数放在页面的顶部。
也就是说,该脚本用于在浏览器中启动页面。
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);







