2010-02-10 57 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