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