服务器之家

服务器之家 > 正文

ASP.NET中后台注册js脚本使用的方法对比

时间:2019-11-05 11:00     来源/作者:asp.net教程网

用Page.ClientScript.RegisterClientScriptBlock 和Page.ClientScript.RegisterStartupScript:区别: 
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> 

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部