ASP.NET 2.0服務器控件之客戶端功能(3)_.Net教程
推薦:ASP.NET 2.0發送電子郵件中存在的問題 在新發行的ASP.NET 2.0版本中,微軟不再建議使用System.Web.Mail命名空間而代之以新的System.Net.Mail命名空間。在這個新庫中引入了許多新特征,但是在發送郵件的方式方面也相應地帶入了一
除了以上幾個方法之外,ClientScriptManager類還包括其他一些相關方法,有興趣的讀者可以閱讀相關資料。通過在服務器控件中靈活使用以上方法,我們可完成為控件加入客戶端行為,同時也帶來了以下好處:
(1)有效的減少所顯示頁面的大小,因為很多有關客戶端功能的代碼都封裝到了客戶端腳本文件中,在控件中只需引用腳本文件的地址即可。
(2)由于同一控件共享腳本文件,因此通過瀏覽器的緩存機制,可以改善應用程序的性能。
(3)提高了控件的靈活性和可擴展性。通過修改腳本文件,控件開發者可以很容易的修改客戶端功能而不用編譯服務器控件。
另外,在對復雜客戶端功能處理的過程中,有時還需要在客戶端腳本中訪問控件。控件開發者可以在腳本中訪問呈現到客戶端的對象,并且對其進行操作。下面來簡單介紹一些有關內容。
Control基類有一個ClientID的屬性,它作為所呈現的元素的ID屬性呈現。ASP.NET動態為一個控件生成ClientID,并且確保頁上每一控件的ClientID是唯一的。因此,可通過在文檔對象模型中使用控件的ID在客戶端上訪問該控件(即,由該控件呈現的元素)。控件還可以使用ClientID為它可以呈現的任何附加元素(例如隱藏域)生成唯一名稱。
將ClientID的值發出到內聯腳本中(或者發出到腳本庫的代碼中)可能是較為棘手的,因為該ClientID必須插在字符串變量中的正確位置。以下實例使用轉義符將ClientID插入構成內聯腳本的字符串中。
另外,還可以使用String類的重載的Format方法撰寫使用ClientID的客戶端腳本。
4. 部署客戶端文件的方法
默認安裝的情況下,在wwwroot文件夾下存在一個子文件夾asp_client,其中保存了用于支持智能導航、驗證控件等功能的客戶端腳本文件。很顯然這些文件非常重要。為了提高應用的規范性,建議開發人員在部署客戶端文件過程中,采用以下方法。
· 將包含有客戶端腳本的文件夾置于asp_client文件夾中,尤其是對于那些安裝在全局配件緩存(GAC)中的控件更應該這樣做。
· 包含腳本的文件夾推薦使用與控件相關的名稱。
· 推薦在包含腳本的文件夾下不要直接放置腳本文件,而是再創建一個名稱為控件版本號的文件夾,將腳本文件放置其中。
例如,開發人員創建了一個版本為1.0的服務器控件MyControl,其關聯一個客戶端腳本ClientScript.js,并且將該控件加入了GAC中。這時推薦部署客戶端腳本文件的路徑為:c:\Inetput\wwwroot\asp_client\MyControl_Client\1.0\ClientScript.js。另外,在客戶端文件庫中存儲的并不僅是腳本文件,也可以加入控件所需的樣式表文件、圖片等其他文件。
以上為部署客戶端文件的推薦方法,那么這是不是說明所有的客戶端腳本文件都需要遵循以上規則呢?當然不是。只要開發人員從實際出發,從提高程序的可維護性和方便性著眼,那么無論客戶端腳本文件置于何處,都是可以的。
5. 小結
本文主要介紹了與實現服務器控件客戶端功能相關的內容。這些內容對于開發出交互性強的服務器控件非常重要。掌握這些內容并不困難,真正困難的是如何開發完成客戶端功能的CSS文件、JS腳本、DHTML程序等。這些技術的掌握不是一朝一夕就可以完成的,它需要扎實的基礎,刻苦的鉆研。而所有這些技術和精神品質都是一名合格的開發人員所必需掌握的精髓,缺一不可。
Page.RegisterArrayDeclaration("Page_Validators", element);
分享:ASP.NET 2.0中層次數據的處理 數據源控件可以同時暴露平面表格式的或層次的數據。前面演示的SqlDataSource和ObjectDataSource控件都是平面表格式的數據源控件。ASP.NET 2.0還包含兩個層次數據源控件:用于連接XML文件的X
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發送Email實例(可帶附件)
- js實現廣告漂浮效果的小例子
- asp.net Repeater 數據綁定的具體實現
- Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數據庫(連接字符串的配置及獲取)
- asp.net頁面傳值測試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現分頁示例代碼
- 相關鏈接:
- 教程說明:
.Net教程-ASP.NET 2.0服務器控件之客戶端功能(3)
。