ASP.NET 4.0 ввел свойство ClientIDMode, которое позволяет указать, как идентификаторы html-элемента будут отображаться в выходном html.
Мой проект в настоящее время настроен на «Статический» (самый короткий / не содержит идентификаторов иерархии)
При использовании любого валидатора (RequiredFieldValidator
, RegularExpressionValidator
...), если элемент управления, который он проверяет явно, не имеет своего свойства ClientIDMode: AutoID Я получаю сообщение об ошибке:
Входной параметр 'controlId' не может быть
пустая строка.
Это ожидаемое поведение?
Редактировать: Будучи довольно глупым с сообщением об ошибке, он хотел, чтобы я добавил идентификатор в Validator, чего я, очевидно, не делаю (если только мне не нужно ссылаться на него).
Все еще кажется странным, что он должен потерпеть неудачу по этой причине.