2013-07-19 2 views
4

Я искал Google последние пару часов, чтобы попытаться найти способ возврата всех валидаторов, связанных с элементом управления вводом. Возможно, я неправильно формулирую или это невозможно.Есть ли простой способ поиска валидаторов, относящихся к управлению вводом?

Я знаю, что есть коллекция валидаторов, доступных через Page.Validators, но то, что я хочу сделать что-то вроде этого:

var myValidators = Page.Validators.Where(x => x.ControlToValidate = "abcdef"); 

Любые идеи?

ответ

5

Page.Validators содержит коллекцию IValidator, но большинство валидаторов проистекают из BaseValidator, который имеет ControlToValidate свойство, так что вы можете сделать это:

var myValidators = Page.Validators.OfType<BaseValidator> 
            .Where(x => x.ControlToValidate == "abcdef"); 
+0

Одна вещь, чтобы помнить с вышеуказанным раствором (или с помощью ControlToValidate поле), заключается в том, что имя ControlId должно быть связано с именованием контейнера/пользовательского элемента управления, иначе вы получите дубликаты. – dotnetnoob

Смежные вопросы