Есть ли способ НЕ загружать определенный элемент управления в ASP.NET/C#? - PullRequest
3 голосов
/ 17 января 2011

У меня есть контейнер (RadDockZone - Telerik), а внутри него - поле текстового поля с «Asp: RequiredFieldValidator», что делает его обязательным. Каждый раз, когда я работаю с операциями AJAX, весь контейнер «перезагружается», включая RequiredFieldValidator. Это заставляет ValidationSummary показывать одно и то же сообщение об ошибке дважды, пока страница не будет полностью перезагружена (я использую RadAjaxManager для решения операций AJAX).

Итак, как я могу "не перезагружать" определенный элемент управления (в данном случае RequiredFieldValidator) с помощью C #?

Привет!

Ответы [ 3 ]

2 голосов
/ 26 сентября 2011

Если вы поместите следующее в страницу загрузки if(page.Isvalid), обязательное поле проверки будет запущено один раз после отправки этой формы. Сообщение не будет отображаться дважды.

0 голосов
/ 18 января 2011

Вы должны использовать группы проверки.Это позволяет вам сгруппировать все ваши элементы проверки в группу.Затем поместите эту же группу проверки на кнопку отправки, и эти элементы управления будут только проверяться при нажатии этой конкретной кнопки.

Свойство назначается элементу управления и кнопке проверки с использованием свойства ValidationGroup.

Хорошим способом сделать это может быть также предложение Thomasvdb установить значение CausesValidation в false.

0 голосов
/ 18 января 2011

Если вы не включите текстовое поле (или его упаковочные контейнеры) в список элементов управления, обновляемый менеджером ajax, текстовое поле и соответствующий требуемый валидатор не должны обновляться в запросах ajax, и сообщение об ошибке не должно отображаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...