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













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