大家好,今天我們來實現一個自定義的控件,之前我們已經知道了,要開發自定義的控件一般繼承三 個基類:Control,WebControl,還有一個就是今天要說的CompositeControl。
大家也許還記得,之前的開發的控件基本上都是我們自己從頭到尾的寫一些控件的標記,如 <table.....>之類的,而且還有一個大的問題:我們為了使得我們的控件更加的好用,專業,我們 還實現了大量的接口,和自己寫很多的事件.這樣開發控件的時間就加大了。其實我們可以利用ASP.NET中 已經有的控件,經過我們包裝,實現我們自定義控件。大家可能認為這和用戶控件差不多的,但是繼承 CompositeConytol的控件的自定義控件的靈活性和復用行更好,而且還還添加樣式。
還一個更加重要的就是我們不必要實現接口,比如,引發回傳的IPostBackEventHandler接口,接受數 據的IPostBackDataHandler接口。大家還記得我們之前開發控件中的的那個Button還要申明name為 this.UniqueID ,現在我們都不需要了,因為我們要包裝的那些服務器的控件,如TextBox,他們都已經 實現了這些。
本章准備開發一個大家都熟知的Login登錄控件。
大家先看看效果:
其實分析起來,這個控件是由一些已有的控件組合而成的,分別是:
兩個Label,兩個TextBox,和一個Button