2010-12-30 2 views
1

В программе у меня есть 1 мультивизор с несколькими видами в него (где виды - это опции меню).Валидация вопроса

Проблема заключается в том, что сообщение об ошибке уже отображается с момента нажатия на пункт меню (определенное представление).

После ввода он исчезает, и когда я оставляю его пустым для следующего ввода, появляется сообщение об ошибке.

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

EDIT: a (IsPostBack) внутри функции, похоже, решил проблему.

IsPostBack может быть настолько запутанным время:>

ответ

1

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

Вы также можете установить CausesValidation на любой кнопке на False, чтобы предотвратить любую проверку при запуске.

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