用Page.ClientScript.RegisterClientScriptBlock 和Page.ClientScript.RegisterStartupScript:区别:
1.使用Page.ClientScript.RegisterClientScriptBlock
c#
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
1 <%@ Page Language=”C#” %>
2 <script runat=”server”>
3 protectedvoid Page_Load(object sender, EventArgs e)
4 {
5 string myScript = @”function AlertHello() { alert(‘Hello ASP.NET’); }”;
6 Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
7 “MyScript”, myScript, true);
8 }
9 </script>
2 <script runat=”server”>
3 protectedvoid Page_Load(object sender, EventArgs e)
4 {
5 string myScript = @”function AlertHello() { alert(‘Hello ASP.NET’); }”;
6 Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
7 “MyScript”, myScript, true);
8 }
9 </script>
运行结果如下:
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
2.使用Page.ClientScript.RegisterStartupScript
RegisterStartupScript
方法与RegisterClientScriptBlock方法最大的不同是:RegisterStartupScript 把script放置在
ASP.NET page的底部,而RegisterClientScriptBlock把script放置在ASP.NET page的顶部。
如果你的页面中有如下代码:
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
c#
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
此页面运行时会报错,原因是JavaScript function先于text box被安放于浏览器。因此JavaScript function找不到TextBox1。
c#
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
这段代码把JavaScript function放置于ASP.NET page底部,因此JavaScript运行时它能找到TextBox1。
3.使用Page.ClientScript.RegisterClientScriptInclude
许多开发者把JavaScript放置在.js文件中,使用RegisterClientScriptInclude方法可以注册.js文件中的JavaScript。
c#
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zhhui.cnblogs.com/Images/OutliningIndicators/None.gif)
这将在ASP.NET页面产生如下结构:
<script src=”myJavaScriptCode.js” type=”text/javascript”></script>