2010-02-10 5 views
0

Je veux créer un contrôle de validateur personnalisé qui hérite de BaseValidator. Il ne sera utilisé que sur des boîtes de texte dans mon application asp.net. Comment puis-je accéder à la zone de texte (lire les propriétés de la zone de texte) dans le validateur personnalisé?Comment puis-je accéder aux propriétés de la zone de texte dans un validateur personnalisé?

Voici ce que j'ai dans ma fonction EvaluateIsValid:

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

Il ne peut pas sembler trouver le contrôle, il rompt avec une exception de référence null. Puis-je faire ça d'une autre manière?

Merci!

Répondre

1

Pour obtenir la zone de texte:

Dim t = Comme TextBox CType (Me.FindControl (Me.ControlToValidate), TextBox)

+0

Selon votre code, t est une chaîne, pas une zone de texte –

+0

I » J'ai mis à jour le code. –

+0

Me.FindControl l'a fait. Je ne sais pas pourquoi - je pense que b/c la zone de texte n'est pas dans le conteneur de nommage du validateur, il ne fonctionnerait pas, mais il l'a fait. Merci! –

Questions connexes