日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Page.ClientScript.RegisterStartupScript() 方法与Page.ClientScript.RegisterClientScriptBlock() 方法...

發(fā)布時(shí)間:2024/4/17 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Page.ClientScript.RegisterStartupScript() 方法与Page.ClientScript.RegisterClientScriptBlock() 方法... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最初可用的選項(xiàng)之一就是使用一個(gè)可實(shí)現(xiàn)此功能的 .NET 類來注冊(cè)腳本塊。 第一個(gè)是 RegisterStartupScript 方法。當(dāng)您有一個(gè)想要在頁面加載時(shí) 啟動(dòng)的 JavaScript 函數(shù)時(shí),最好使用該類。就此列舉一例,在 Visual Studio 2005 中創(chuàng)建一個(gè)包含兩個(gè)按鈕的 ASP.NET 頁面。 Button1Button2 分別為 這兩個(gè)按鈕的 ID。然后,在 Page_Load 事件內(nèi)部嵌入以下代碼? Page.ClientScript.RegisterStartupScript(this.GetType(), " MyScript", "function AlertHello() { alert('你好,ASP.NET'); }", true); Button1.Attributes["onclick"] = "AlertHello()"; Button2.Attributes["onclick"] = "AlertHello()";

RegisterStartupScript 方法的兩個(gè)可能結(jié)構(gòu)如下:

?

RegisterStartupScript (type, key, script)

?

RegisterStartupScript (type, key, script, script tag specification)

在上例中,您指定了類型 Me.GetType()、關(guān)鍵字及包含的腳本,然后是一個(gè)值為 True

的布爾值(以便 .NET 自動(dòng)使用

<script> 標(biāo)記將腳本嵌入 ASP.NET 頁面中)。

Page_Load 事件中使用該代碼會(huì)在瀏覽器中生成以下 HTML 代碼

(為簡(jiǎn)明起見,已刪除了一些 HTML 代碼):

<html xmlns="http://www.w3.org/1999/xhtml" ><head><title> 使用 JavaScript</title></head><body> <form name="form1" method="post" action="Default.aspx" id="form1"> <div><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJMTM4ODA1MjE5D2QWAgIED2QWBAIBDw9kFgIeB29uY2xpY2s FDEFsZXJ0SGVsbG8oKWQCAw8PZBYCHwAFDEFsZXJ0SGVsbG8oKWRk+DQIaJpw5 A7pyhzP8dxf/JGUSbA=" /></div> <div><input type="submit" name="Button1" value="Button" οnclick="AlertHello();" id="Button1" /> <input type="submit" name="Button2" value="Button" οnclick="AlertHello();" id="Button2" /></div> <div><input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwK4yNWFBwKM54rGBgK7q7GGCHwBEr6DyGutQ/ egvNrB3OYhCwM4" /></div><script type="text/javascript"> <!--function AlertHello() { alert('你好,ASP.NET'); }// --> </script></form></body></html>

使用該 ASP.NET 頁面時(shí),請(qǐng)注意,在頁面的底部、表單 (</form>) 的最后,

嵌入了一個(gè) JavaScript 函數(shù)。

應(yīng)為頁面上的所有 JavaScript 指定唯一的關(guān)鍵字,這一點(diǎn)十分重要

(這可通過該方法中要求的 key 參數(shù)來實(shí)現(xiàn))。

如果多個(gè) JavaScript 具有相同的關(guān)鍵字名稱,則只會(huì)在頁面中嵌入第一個(gè) JavaScript。

現(xiàn)在,我們通過使用 Page.ClientScript.RegisterClientScriptBlock 方法來創(chuàng)建

一個(gè)更好版本的按鈕翻轉(zhuǎn)示例。

先前的翻轉(zhuǎn)按鈕示例有一個(gè)問題,即當(dāng)終端用戶的鼠標(biāo)置于按鈕圖像上時(shí),

必須通過單獨(dú)的請(qǐng)求從服務(wù)器檢索翻轉(zhuǎn)圖像。

較好的翻轉(zhuǎn)按鈕情況是,按鈕的翻轉(zhuǎn)圖像已經(jīng)下載并存儲(chǔ)到了瀏覽器的高速緩存中,

以便當(dāng)終端用戶將鼠標(biāo)置于按鈕上時(shí),

會(huì)立即顯示翻轉(zhuǎn)圖像。要完成該任務(wù),我們必須構(gòu)建一個(gè) JavaScript 函數(shù)。

以下示例介紹了該 JavaScript 函數(shù)以及如何使用

RegisterClientScriptBlock 方法將該函數(shù)置于頁面中。就本例而言,代碼分離只需要

一個(gè) Page_Load 事件及一個(gè)針對(duì) ImageButton

?服務(wù)器控件的按鈕單擊事件。

<%@ Page Language="C#" %><script runat="server"> protected void Page_Load(object sender, EventArgs e) { Page.RegisterClientScriptBlock("MyScript", _ "if (document.images) {" + "MyButton = new Image;" + "MyButtonShaded = new Image;" + "MyButton.src = 'button1.gif;" + "MyButtonShaded.src = 'button2.gif;" + "}" + "else {" + "MyButton = '';" + "MyButtonShaded = '';" + "}", true); ImageButton1.Attributes.Add("onmouseover", "this.src = MyButtonShaded.src;" + "window.status='是的!請(qǐng)單擊此處!';"); ImageButton1.Attributes.Add("onmouseout", "this.src = MyButton.src;" + "window.status='';"); } protected void ImageButton1_Click(object sender,ImageClickEventArgs e) { Label1.Text = "回發(fā)!"; }</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>使用 JavaScript</title></head><body> <form id="form1" runat="server"> <div> <p> <asp:ImageButton id="ImageButton1" οnmοuseοver="this.src='button2.gif'" οnclick="ImageButton1_Click" οnmοuseοut="this.src='button1.gif'" runat="server" ImageUrl="button1.gif"></asp:ImageButton> </p> <p> <asp:Label id="Label1" runat="server" /> </p> </div> </form></body></html>

使用此代碼時(shí),瀏覽器的 HTML 輸出將如下所示:

<html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1"><title> 使用 JavaScript</title></head><body> <form name="form1" method="post" action="Default.aspx" id="form1"> <div><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTcyMTcwOTQ2NA9kFgICBA9kFgICAQ8PZBYEHgtvbm1 vdXNlb3ZlcgVCdGhpcy5zcmMgPSBNeUJ1dHRvblNoYWRlZC5zcmM7d2luZ G93LnN0YXR1cz0nT2ggWWVzISBDbGljayBoZXJlISc7Hgpvbm1vdXNlb3V 0BSl0aGlzLnNyYyA9IE15QnV0dG9uLnNyYzt3aW5kb3cuc3RhdHVzPScnO 2QYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFDEltYWd lQnV0dG9uMXDJ4zl4FNylcdE+kep0e5wzi14T" /></div> <script type="text/javascript"><!--if (document.images) {MyButton = new Image;MyButtonShaded = new Image; MyButton.src = 'button1.gif';MyButtonShaded.src = 'button2.gif';} else {MyButton= '';MyButtonShaded = '';}// --></script> <div> <p> <input type="image" name="ImageButton1" id="ImageButton1" οnmοuseοver="this.src = MyButtonShaded.src;window.status= '是的!請(qǐng)單擊此處!';" οnmοuseοut="this.src = MyButton.src;window.status='';" src="button1.gif" style="border-width:0px;" /> </p> <p><span id="Label1"></span></p> </div> <div> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgLhoLy4DwLSwpnTCEKaKJJN3KmLU7TP4vwT5VSKMT+M" /> </div></form></body></html>

對(duì)于該輸出,請(qǐng)注意:通過使用 RegisterClientScriptBlock,JavaScript

?函數(shù)緊跟在 HTML 代碼中開啟元素 <form> 的后面。除了使用

RegisterClientScriptBlock 方法添加了 JavaScript 函數(shù)外,

我們還添加了一些額外的 JavaScript(只是為了增添點(diǎn)樂趣),

以便在終端用戶將鼠標(biāo)置于按鈕上時(shí)文本會(huì)顯示在瀏覽器的狀態(tài)欄中。如圖 3 所示。

Page.ClientScript.RegisterStartupScript 與

Page.ClientScript.RegisterClientScriptBlock 之間的區(qū)別

我們已為您介紹了兩種不同的可用來將 JavaScript 函數(shù)嵌入 ASP.NET 頁面的方法,

那么,二者之間有何不同呢?主要區(qū)別在于,RegisterStartupScript

方法是將 JavaScript 嵌入到 ASP.NET 頁面的底部,恰好位于關(guān)閉元素 </form>

?的前面。RegisterClientScriptBlock 方法是將 JavaScript 嵌入到

頁面中開啟元素 <form> 的緊后面。那么,這有何不同呢?正如我們將要看到的,

這有很大的不同。

就此列舉一例,以下是在頁面加載到瀏覽器時(shí),將焦點(diǎn)置于該頁面上的一個(gè)文本框中的方法 -

?使用利用了 RegisterStartupScript 方法的 Visual Basic:

Page.ClientScript.RegisterStartupScript(Me.GetType(), "Testing", _ "document.forms[0]['TextBox1'].focus();", True)

由于在瀏覽器運(yùn)行到頁面底部并執(zhí)行此小段 JavaScript 時(shí),就已生成了頁面上的文本框,

并已將其放到了頁面中,因此,此方法運(yùn)行正常。但是,

如果不按照上述方法,而編寫如下代碼(使用 RegisterClientScriptBlock 方法):

Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "Testing", _ "document.forms[0]['TextBox1'].focus();", True)

文本框控件將不會(huì)獲得焦點(diǎn),且會(huì)在頁面上生成一個(gè) JavaScript 錯(cuò)誤(如圖 4 所示)。


圖 4. 執(zhí)行 JavaScript 時(shí)出錯(cuò)

出錯(cuò)的原因在于,瀏覽器將先遇到 JavaScript,而后文本框才會(huì)出現(xiàn)在頁面中。

因此,JavaScript 將無法找到 TextBox1

?

?

轉(zhuǎn)至于http://www.cnblogs.com/zhuawang/archive/2007/09/04/881107.html

轉(zhuǎn)載于:https://www.cnblogs.com/chenmo0202032220/archive/2009/03/26/1422106.html

總結(jié)

以上是生活随笔為你收集整理的Page.ClientScript.RegisterStartupScript() 方法与Page.ClientScript.RegisterClientScriptBlock() 方法...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99re视频在线播放 | 婷婷色在线视频 | 婷婷色网站 | 久久久久久久久艹 | 中文字幕 视频一区 | 国产1区在线 | 色欲国产精品一区二区 | 国产伦精品一区二区三区高清版 | 美女干b视频 | 一区二区日韩在线观看 | 婷婷色在线播放 | 极品美女扒开粉嫩小泬 | 香蕉久久久久久久av网站 | 午夜精品视频一区二区三区在线看 | 亚洲欧美成人一区二区三区 | 在线一区| 麻豆av在线免费观看 | 黑人巨大精品一区二区在线 | 亚洲精品嫩草 | 免费人成在线 | 国产一二三区在线视频 | 青青视频免费观看 | 国产精品久久久久久久免费观看 | xxxx精品| 国产精品yy | 自拍亚洲一区 | 黑人精品无码一区二区三区 | 天天摸天天操天天爽 | 涩涩屋污| 在线视频免费播放 | 污污网站在线看 | 男女被到爽流尿 | 黄视频在线观看免费 | 亚洲激情网站 | 日本免费三片在线播放 | 日韩精品电影在线 | 国产精品久久精品三级 | 美女又爽又黄免费视频 | 国产精品国产三级国产普通话对白 | 国产精品美女毛片真酒店 | 国产一区二区三区在线观看视频 | av成人资源 | 91色国产| 户外露出一区二区三区 | 秋霞成人午夜伦在线观看 | 亚洲逼逼 | 欧美性生活在线视频 | 精品人妻码一区二区三区红楼视频 | 国产奶头好大揉着好爽视频 | 久久久久久久久精 | 亚洲网站在线免费观看 | 女生被草 | 国产在线不卡av | 亚洲成人a∨ | 国产九九九九九 | 91久久电影 | 欧美少妇一区二区 | 国产精品毛片一区二区在线看 | 一本久草 | www.黄色网 | www,超碰 | 国产伦理在线观看 | 日本a v在线播放 | 欧美操穴视频 | 国产精品自拍偷拍视频 | 亚洲视频二区 | 国产丝袜一区二区三区 | 肉丝美脚视频一区二区 | 欧美极品少妇xxxxⅹ猛交 | 天天天天操| 亚瑟av在线| 啪啪免费小视频 | 成人午夜免费毛片 | 视频一区 国产 | 中国美女性猛交 | 成av人片在线观看www | julia一区二区三区中文字幕 | 97免费在线 | 超碰超碰97 | 久久合| 一区二区三区精品在线 | 免费在线观看av网站 | 日本少妇三级 | 福利视频亚洲 | 国产日韩欧美精品在线观看 | 日本免费无人高清 | 日韩av网页 | 亚洲第一区在线 | 日本在线中文 | 三级免费观看 | 久久的色偷偷 | 亚洲精品乱码久久久久久写真 | 孕妇疯狂做爰xxxⅹ 国产精品乱码久久久久久 99久久久成人国产精品 | 国产免费中文字幕 | 欧美性猛交ⅹ乱大交3 | a国产| 久久婷婷五月国产色综合激情 | 精品国产一区二区视频 | 成年丰满熟妇午夜免费视频 |