国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET 2.0 中的客戶端腳本

2024-07-10 13:06:28
字體:
來源:轉載
供稿:網友
在使用 asp.net 的時候,我們仍然在許多情況下需要使用客戶端腳本。以下是筆者根據自己的經驗和一些粗淺的研究,對此作一個簡要的總結。

  一、在 html 里直接寫腳本

  這個方法是最簡單的,直到如今我寫網頁的時候也幾乎還是使用最多的一種方式。也許一些經常使用 registerclientscriptblock 的人會覺得這種方法老土,不過在我看來,它除了可以減少編譯時間以外,更主要的是可以減少代碼量,可讀性也要好一些,更或許還可以避免一些潛在的錯誤。

  但是有些情況下,直接寫的方法是很難完成要求的,比如說當腳本需要依賴我們在代碼中動態生成的控件時,就必須要采用 register 的方法了。

  二、使用 literal 控件寫腳本

  literal 控件基本上就是寫一段文字或代碼,所以當然也可以寫出客戶端腳本來,實質上這個方法與第一個方法基本相同。以我個人來說,此種方法一般是用在寫控件上。設想一個情況:我們需要根據某種條件來判斷一批具有客戶端腳本事件的控件是否顯示,當然我們可以使用如 panel 一類的容器,可是這些容器多半都要套一個 div 之類的東西,如果在某種情況下我們不希望這時出現 div 呢?當然或許是有更好更漂亮的辦法,只是我都是簡單地用一個 literal 了事。'

  三、使用 register script 函數

  在 asp.net 1.x 中,page 類提供了 registerclientscriptblock、registeronsubmitstatement 以及 registerstartupscript 函數,使得可以在代碼中進行 clientscript 綁定。不過到了 asp.net 2.0 當中,將這些函數統通移到了一個 clientscriptmanager 類中,并且還添加了類似的 registerclientscriptinclude 函數。在使用這個類的時候,我們可以通過 page.clientscript 來訪問。下面介紹一下這幾個函數的區別。

  registerclientscriptblock:這個函數將 clientscript 加到頁面頂部,一般是在緊接著 <form> 標簽的地方。需要注意的是,這個函數中的腳本在寫入頁面甚至執行的時候,頁面的其它元素可能還沒有載入完畢,因此可能不能正確地調用頁面中的元素。這個函數比較常見的應用是一些客戶端事件處理函數。

  registerclientscriptinclude:這個函數是 asp.net 2.0 新加入的,它一般用于將一個外部的 clientscript 文件,比如一個 .js 文件鏈接入頁面的時候。除此之外,它和 registerclientscriptblock 基本一樣,包括注意事項。

  registerstartupscript:這個函數將 clientscript 加入到頁面的底部,由此帶來的好處自然就是可以正確地處理對頁面元素的引用了。注意這里的腳本將會在頁面的 onload 事件之前執行。一般來說,這里的代碼都是一次性執行的。最常見的比如說是希望頁面載入完畢之后彈出一個消息提示框,又或者在一個有框架的頁面中,需要在一個頁面裝載完畢之后更新另一個頁面的情況。

  registeronsubmitstatement:這個函數則是將 clientscript 與 onsubmit 事件綁定起來。

  一般的,在使用 registerclientscriptblock 定義了事件處理函數后,我們可以采用以下的代碼將函數與控件關聯起來,這里,假定我們已經定義了一個 confirmdelete 函數:

1string script = @"return confirmdelete();";
2btndelete.attributes.add("onclick", script);
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广宁县| 竹山县| 会泽县| 陕西省| 洞头县| 沾化县| 弋阳县| 叙永县| 马鞍山市| 平阴县| 宁武县| 瓦房店市| 环江| 彭山县| 无锡市| 资兴市| 西吉县| 克东县| 余姚市| 宜城市| 开阳县| 黄陵县| 应用必备| 凤山市| 昌江| 谷城县| 海淀区| 河池市| 上杭县| 苏州市| 呈贡县| 诏安县| 中卫市| 舒兰市| 仙居县| 荆门市| 开原市| 永嘉县| 白沙| 吉安市| 阿坝|