|
這次我們繼續討論.主題是模板控件,模板控件將是復雜控件的起步
如下圖,以下為ASP.NET內置的模板控件
上圖的控件一方面是模板控件,另一方面又是數據綁定控件.這里我們暫且不討論如何實現數據綁定。使用上面控件的話,應該熟悉控件存在著不同的模板,如下圖Repeater控件的模板類型。
在不同模板內你可以定義控件顯示內容會呈現不同效果.典型的運用就是GridView,其呈現代碼會是一個表格代碼,而Repeater則是自定義的.其實其是內部已經實現了的,暫且先不管這些.下面一步步看下來如何實現.
2.實現模板控件
2.1簡單實現模板控件(靜態模板)
(1)模板控件為特殊的復合控件,你還是需要實現INamingContainer接口,因為在模板屬性的內容是為子控件集合添加到模板控件中,為保證控件具有唯一標識符.其實現將在CreateChildControls方法中創建子控件。ASP.NET2.0中可以直接繼續CompositeControl就可。
(2)定義控件屬性
模板屬性為System.Web.UI.ITemplate 接口,此接口有一InstantiateIn 方法 將在下面分析。上一篇我們說明了控件內部屬性和控件的區別,模板并非控件而是屬性,我們在屬性瀏覽器中并未看到此屬性,是因為我們為其加了元數據,作為內部屬性使用。定義模板屬性方法如下













NET技術:asp.net控件開發基礎(16),轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。