用Page.ClientScript.RegisterClientScriptBlock 和Page.ClientScript.RegisterStartupScript:區(qū)別:
1.使用Page.ClientScript.RegisterClientScriptBlock
c#代碼
復(fù)制代碼 代碼如下:
%@ 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>
運行結(jié)果如下:
復(fù)制代碼 代碼如下:
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的頂部。
如果你的頁面中有如下代碼:
復(fù)制代碼 代碼如下:
asp:TextBox ID=”TextBox1” Runat=”server”>Hello ASP.NET/asp:TextBox>
c#
復(fù)制代碼 代碼如下:
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#
復(fù)制代碼 代碼如下:
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
許多開發(fā)者把JavaScript放置在.js文件中,使用RegisterClientScriptInclude方法可以注冊.js文件中的JavaScript。
c#
復(fù)制代碼 代碼如下:
string myScript = “myJavaScriptCode.js”
Page.ClientScript.RegisterClientScriptInclude(“myKey”, myScript);
這將在ASP.NET頁面產(chǎn)生如下結(jié)構(gòu):
復(fù)制代碼 代碼如下:
script src=”myJavaScriptCode.js” type=”text/javascript”>/script>
您可能感興趣的文章:- IIS6 中"ASP 0201 錯誤 無效的默認(rèn)腳本語言" 的解決方法
- 使用ASP控制指定站點解析腳本語言函數(shù)
- 用InstallShield打包ASP程序的腳本
- asp分頁生成html的程序腳本代碼
- 隱藏修改文件時間和文件屬性的ASP腳本
- ASP.NET調(diào)用javascript腳本的常見方法小結(jié)
- 從一個網(wǎng)站扒下的asp生成靜態(tài)頁面的代碼 腳本之家特供版
- iis、apache與nginx禁止目錄執(zhí)行asp、php腳本的實現(xiàn)方法
- ASP上傳漏洞之利用CHR(0)繞過擴(kuò)展名檢測腳本
- ASP中Server.Execute和Execute實現(xiàn)動態(tài)包含(include)腳本的區(qū)別
- ASP程序中常用的腳本語言