asp.net 需知:RegisterStartupScript、RegisterClientScriptBlock、Response.Write 使用区别

JavaScript 与 ASP.NET 2.0 配合使用: 三种实现方式 

 

RegisterStartupScript推荐使用是在page 对象的 元素的结束标记之前发出该脚本。如果你的脚本有与页面对象(doucument对象)进行交互的语句,则推荐使用 registerstartupscript,反之如果要想客户端脚本尽可能早的执行,则可以使用registerclientscriptblock或response.write。(是在窗体尾部加有script代码,即</form>前  ) 与页面元素交互时有用。


RegisterClientScriptBlock:在vs2005之后的版本过时. 在 page 对象的 元素的开始标记后立即发出客户端脚本(是在窗体开始处加script代码,即<form>后 ),如果要与页面元素交互,会有错误.不推荐使用


Response.Write:方法生成的代码是写到了html代码的最开始,即标签之前再按html的顺序执行,但会导致页面变形。不推荐使用

 

示例:

protected void Page_Load(object sender, EventArgs e) { Response.Write("<mce:script type="text/javascript"><!-- alert('看html源文件我在页面文档最上面上显示!') // --></mce:script>"); Page.RegisterClientScriptBlock("msg", "<mce:script type="text/javascript"><!-- alert('看html源文件,我在页面<form>里,vs2005之后过时了!') // --></mce:script>"); ClientScript.RegisterStartupScript(this.GetType(), "msg", "alert('看html源文件,我在页面<form>里,推荐使用!')", true); }

 

注意:

.NET Framework 1.0/1.1中的Page.RegisterStartupScript和Page.RegisterClientScript Block方法现在已废弃。这两个用于注册脚本的方法都需要一组键/脚本参数。因为涉及到两个不同的方法,所以键名常常冲突。Page.ClientScript属性统一解析所有的脚本注册,所以代码的错误较少。

资源参考:http://book.51cto.com/art/200907/132854.htm

你可能感兴趣的:(asp.net 需知:RegisterStartupScript、RegisterClientScriptBlock、Response.Write 使用区别)