Mexx 的个人资料我們走吧 我們回去照片日志列表更多 ![]() | 帮助 |
|
10月5日 Validation of User Controls in ASP.Net 常用的控制項組合,我們會想把它包在一起,日後方便重複使用。 寫 Custom Control 太麻煩了,通常會用 User Control 快速達到我們的需要。 所以就會衍生出這個問題:如何驗證 User Control 的值?例如 User Control 裡頭的某個 TextBox? 首先談兩個觀念 第一是:User Control 包了若干個 Server Control ( or Html ) 之後,外界對它是一無所知的,只知道它是個 "UserControl" 類別˙。你必須為它設計一些「屬性」,把該 User Control 的特性給釋出來讓外界知道(讓 aspx 知道)。例如該 User Control 內含一個 TextBox,你若要在 aspx 可以存取該 TextBox 的值,可以設計一個屬性如下: public string Text { get { return this.TextBox1.Text; } set { this.TextBox1.Text = value; } } 相關的介面:ITextControl、IEditableTextControl,只要繼承了他們,就一定要有 Text 屬性。 第二個觀念是:"UserControl" 類別繼承了 INamingContainer,所以上面 TextBox1 Render 到前端後,不會仍然是 id="TextBox1" 以下還有一些常見問題:
接下來,就進入比較主題的部分,就是如何驗證 User Control 的屬性值?有兩個做法:
以下用 RequiredFieldValidator 舉例:
做到這邊其實可接受了,若你已經滿意,底下的就可以忽略不看。
嚴格來說,還是有點美中不足的:
引用通告此日志的引用通告 URL 是: http://eggttball.spaces.live.com/blog/cns!330312E5514C141B!1660.trak 引用此项的网络日志
|
|
|