ASP.NET中后台注册js脚本使用的方法对比
2013-04-28 00:00
826 查看
用Page.ClientScript.RegisterClientScriptBlock 和Page.ClientScript.RegisterStartupScript:区别:
1.使用Page.ClientScript.RegisterClientScriptBlock
c#代码
运行结果如下:
2.使用Page.ClientScript.RegisterStartupScript
RegisterStartupScript 方法与RegisterClientScriptBlock方法最大的不同是:RegisterStartupScript 把script放置在 ASP.NET page的底部,而RegisterClientScriptBlock把script放置在ASP.NET page的顶部。
如果你的页面中有如下代码:
c#
此页面运行时会报错,原因是JavaScript function先于text box被安放于浏览器。因此JavaScript function找不到TextBox1。
c#
这段代码把JavaScript function放置于ASP.NET page底部,因此JavaScript运行时它能找到TextBox1。
3.使用Page.ClientScript.RegisterClientScriptInclude
许多开发者把JavaScript放置在.js文件中,使用RegisterClientScriptInclude方法可以注册.js文件中的JavaScript。
c#
这将在ASP.NET页面产生如下结构:
1.使用Page.ClientScript.RegisterClientScriptBlock
c#代码
<%@ Page Language=”C#” %> <script runat=”server”> protected void Page_Load(object sender, EventArgs e) { string myScript = @”function AlertHello() { alert(‘Hello ASP.NET'); }”; Page.ClientScript.RegisterClientScriptBlock(this.GetType(), “MyScript”, myScript, true); } </script>
运行结果如下:
<html xmlns=”http://www.w3.org/1999/xhtml” > <head><title> Adding JavaScript </title></head> <body> <form method=”post” action=”JavaScriptPage.aspx” id=”form1”> <div> <input type=”hidden” name=”__VIEWSTATE” value=”/wEPDwUKMTY3NzE5MjIyMGRkiyYSRMg+bcXi9DiawYlbxndiTDo=” /> </div> <script type=”text/javascript”> <!-- function AlertHello() { alert(‘Hello ASP.NET'); }// --> </script> <div> <input type=”submit” name=”Button1” value=”Button” onclick=”AlertHello();” id=”Button1” /> </div> </form> </body> </html>
2.使用Page.ClientScript.RegisterStartupScript
RegisterStartupScript 方法与RegisterClientScriptBlock方法最大的不同是:RegisterStartupScript 把script放置在 ASP.NET page的底部,而RegisterClientScriptBlock把script放置在ASP.NET page的顶部。
如果你的页面中有如下代码:
<asp:TextBox ID=”TextBox1” Runat=”server”>Hello ASP.NET</asp:TextBox>
c#
protected void Page_Load(object sender, EventArgs e) { string myScript = @”alert(document.forms[0][‘TextBox1'].value);”; Page.ClientScript.RegisterClientScriptBlock(this.GetType(), “MyScript”, myScript, true); }
此页面运行时会报错,原因是JavaScript function先于text box被安放于浏览器。因此JavaScript function找不到TextBox1。
c#
protected void Page_Load(object sender, EventArgs e) { string myScript = @”alert(document.forms[0][‘TextBox1'].value);”; Page.ClientScript.RegisterStartupScript(this.GetType(), “MyScript”, myScript, true); }
这段代码把JavaScript function放置于ASP.NET page底部,因此JavaScript运行时它能找到TextBox1。
3.使用Page.ClientScript.RegisterClientScriptInclude
许多开发者把JavaScript放置在.js文件中,使用RegisterClientScriptInclude方法可以注册.js文件中的JavaScript。
c#
string myScript = “myJavaScriptCode.js” Page.ClientScript.RegisterClientScriptInclude(“myKey”, myScript);
这将在ASP.NET页面产生如下结构:
<script src=”myJavaScriptCode.js” type=”text/javascript”></script>
相关文章推荐
- asp.net ajax后台使用JS脚本.需要使用ScriptManager..::.RegisterStartupScript 方法
- Asp.Net 后台注册Js脚本和引用JS文件的方法及作用位置
- asp.net后台注册js的四种方法
- ASP.NET中后台注册js脚本攻略(转)
- ASP.NET中后台注册js脚本攻略
- ASP.NET后台注册javascript脚本方法
- ASP.NET - ASP.NET后台注册javascript脚本方法
- ASP.NET后台注册javascript脚本方法
- asp.net后台注册js的四种方法分享
- ASP.NET后台注册javascript脚本方法
- ASP.NET中后台注册js脚本攻略(转)
- Asp.net 后台注册js方法汇总
- ASP.NET后台注册javascript脚本方法
- asp.net后台获取使用js方法input文本的value
- ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
- asp.net后台注册js的四种方法
- Asp.net 后台注册js方法汇总
- ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
- asp.net 后台向前台注册JS脚本