2010-02-10 48 views
0

我想構建一個繼承自BaseValidator的自定義驗證器控件。它只會用在我的asp.net應用程序的文本框中。如何訪問自定義驗證程序中的文本框本身(讀取文本框的屬性)?如何訪問自定義驗證程序中的文本框屬性?

以下是我在我的EvaluateIsValid功能:

Dim t As TextBox = CType(Page.FindControl(Me.ControlToValidate), TextBox) 
Return t.Text.Length <= t.MaxLength 

它似乎無法找到該控件,所以它與一個空引用異常打破。我能以另一種方式做這件事嗎?

謝謝!

回答

1

要獲得文本框:

昏暗的T作爲文本框= CTYPE(Me.FindControl(Me.ControlToValidate),文本框)

+0

根據你的代碼,t是一個字符串,而不是一個文本框 – 2010-02-10 19:54:31

+0

我我更新了代碼。 – 2010-02-10 20:03:05

+0

Me.FindControl做到了。我不知道爲什麼 - 我會認爲文本框不在驗證器的命名容器中,它不起作用,但它確實如此。謝謝! – 2010-02-10 20:16:15