ASP.NET自訂控制項是已編譯的伺服器端控制項,它將使用者介面和其他功能都封裝到可複用的包中。自訂控制項和標準的ASP.NET控制項相比,除了它們綁定一個不同的標記首碼,並且必須進行顯式的註冊和部署以外並沒有什麼不同。此外,自訂控制項擁有自己的物件模型,能夠觸發事件,並支援Microsoft Visual Studio的所有設計時特性,諸如屬性視窗、視覺化設計工具、屬性產生器和工具箱。
自訂控制項是一個繼承自某個控制項基類的類,通常使用以下兩種方法來建立自訂控制項。如果發現某個現有控制項只滿足部分需求,關缺少某些關鍵的特徵,則只需從該控制項類中派生出一個新類並根據需要進行擴充。如果現有的伺服器控制項不能滿足需求,可以考慮從System.Web.UI.Control類或System.Web.UI.WebControls.WebControl類繼承,實際上WebControl類繼承自Control類,添加了某些風格特徵。
所有的自訂控制項最終展現給使用者的仍是由HTML、CSS和JavaScript混合在一起的頁面,所以在開發自訂控制項時需要考慮使用現有的網頁技術能否實現,如果在純HTML環境中無法實現某個特徵的話自訂控制項同樣無法做到。
開發自訂控制項時經常會用到的命名空間如下:
- System.ComponentModel——提供用於實現組件和控制項運行時和設計時行為的類,經常使用該命名空間中的類設定自訂控制項的特性或進行類型轉換等工作。
- System.Web.UI——包含ASP.NET伺服器控制項基本的類,Control類位於該命名空間下。
- System.Web.UI.WebControls——包含在頁面上建立ASP.NET服務端控制項的類,常用的Button、Label、TextBox類均位於該命名空間下。
- System.Web.UI.HtmlControls——同樣包含一系列伺服器端控制項,與System.Web.UI.WebControls不同的是該命名空間下的類直接映射到一些HTML標記上,並且這些類都以HTM作為首碼。
ASP.NET自訂控制項系列文章
前言
第一天 簡單的星級控制項
第二天 帶有自訂樣式的星級控制項
第三天 使用控制項狀態的星級控制項
第四天 摺疊面板自訂控制項
第五天 可以評分的星級控制項
第六天 可以綁定資料來源的星級控制項
第七天 開發具有豐富特性的清單控制項
第八天 顯示多個條目星級評等的資料繫結控制項
第九天 自訂GridView
第十天 實現分頁功能的DataList
全部源碼下載
本系列文章PDF版本下載