第八章:自訂控制項進階設計
CustomControl沒有設計畫面,功能彈性比UserControl好,並且可以繼承既有的控制項,當開發好時,將專案編譯為dll組件,就可以佈署至網站中。
新增CustomControl時,範本選擇ASP.NET Server Control。
狀態維護:
要複寫SaveControlState, LoadControlStage事件,並在OnInit事件時透過Page.RegisterRequiresControlState在頁面中註冊事件程序。實作請參考練習8.3
Custom Composite Control:
自訂控項裡面也可以放既有的控項,首先類別要先繼承CompositeControl,並將子控制項的初始化寫在override CreateChildControls方法中,並給定初始值,將控制項加到this中。
支援樣板的Custom Control:
1.繼承CompositeControl
2.設計一個實作ITemplate介面的屬性並新增該屬性的TemplateContainer, PersistenceMode兩個Attribute
3.override CreateChildControls方法用ItemTemplate介面的InstantiateIn方法建立樣板。
4.自訂的Template樣板smartTag設計模式不支援。
沒有留言:
張貼留言