ASP.NET中后台注册js脚本攻略(转)

时间:2023-03-08 20:43:23

用Page.ClientScript.RegisterClientScriptBlockPage.ClientScript.RegisterStartupScript:区别:

 

1.使用Page.ClientScript.RegisterClientScriptBlock

c#


代码 

 <%@ 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>

运行结果如下:

ASP.NET中后台注册js脚本攻略(转)<html xmlns=”http://www.w3.org/1999/xhtml” >
ASP.NET中后台注册js脚本攻略(转)<head><title>
ASP.NET中后台注册js脚本攻略(转)Adding JavaScript
ASP.NET中后台注册js脚本攻略(转)</title></head>
ASP.NET中后台注册js脚本攻略(转)<body>
ASP.NET中后台注册js脚本攻略(转)<form method=”post” action=”JavaScriptPage.aspx” id=”form1”>
ASP.NET中后台注册js脚本攻略(转)<div>
ASP.NET中后台注册js脚本攻略(转)<input type=”hidden” name=”__VIEWSTATE”
ASP.NET中后台注册js脚本攻略(转)value=”/wEPDwUKMTY3NzE5MjIyMGRkiyYSRMg+bcXi9DiawYlbxndiTDo=” />
ASP.NET中后台注册js脚本攻略(转)</div>
ASP.NET中后台注册js脚本攻略(转)<script type=”text/javascript”>
ASP.NET中后台注册js脚本攻略(转)<!--
ASP.NET中后台注册js脚本攻略(转)function AlertHello() { alert(‘Hello ASP.NET’); }// -->
ASP.NET中后台注册js脚本攻略(转)</script>
ASP.NET中后台注册js脚本攻略(转)<div>
ASP.NET中后台注册js脚本攻略(转)<input type=”submit” name=”Button1” value=”Button” onclick=”AlertHello();”
ASP.NET中后台注册js脚本攻略(转)id=”Button1” />
ASP.NET中后台注册js脚本攻略(转)</div>
ASP.NET中后台注册js脚本攻略(转)</form>
ASP.NET中后台注册js脚本攻略(转)</body>
ASP.NET中后台注册js脚本攻略(转)</html>

2.使用Page.ClientScript.RegisterStartupScript

RegisterStartupScript
方法与RegisterClientScriptBlock方法最大的不同是:RegisterStartupScript 把script放置在
ASP.NET page的底部,而RegisterClientScriptBlock把script放置在ASP.NET page的顶部。

如果你的页面中有如下代码:

ASP.NET中后台注册js脚本攻略(转)<asp:TextBox ID=”TextBox1” Runat=”server”>Hello ASP.NET</asp:TextBox>
ASP.NET中后台注册js脚本攻略(转)

c#

ASP.NET中后台注册js脚本攻略(转)protected void Page_Load(object sender, EventArgs e)
ASP.NET中后台注册js脚本攻略(转){
ASP.NET中后台注册js脚本攻略(转)  string myScript = @”alert(document.forms[][‘TextBox1’].value);”;
ASP.NET中后台注册js脚本攻略(转)  Page.ClientScript.RegisterClientScriptBlock(this.GetType(), “MyScript”, myScript, true);
ASP.NET中后台注册js脚本攻略(转)}

此页面运行时会报错,原因是JavaScript function先于text box被安放于浏览器。因此JavaScript function找不到TextBox1。
c#

ASP.NET中后台注册js脚本攻略(转)protected void Page_Load(object sender, EventArgs e)
ASP.NET中后台注册js脚本攻略(转){
ASP.NET中后台注册js脚本攻略(转)  string myScript = @”alert(document.forms[][‘TextBox1’].value);”;
ASP.NET中后台注册js脚本攻略(转)  Page.ClientScript.RegisterStartupScript(this.GetType(), “MyScript”, myScript, true);
ASP.NET中后台注册js脚本攻略(转)}

这段代码把JavaScript function放置于ASP.NET page底部,因此JavaScript运行时它能找到TextBox1。

3.使用Page.ClientScript.RegisterClientScriptInclude

许多开发者把JavaScript放置在.js文件中,使用RegisterClientScriptInclude方法可以注册.js文件中的JavaScript。
c#

ASP.NET中后台注册js脚本攻略(转)string myScript = “myJavaScriptCode.js”
ASP.NET中后台注册js脚本攻略(转)Page.ClientScript.RegisterClientScriptInclude(“myKey”, myScript);

这将在ASP.NET页面产生如下结构:
  <script src=”myJavaScriptCode.js” type=”text/javascript”></script>