Событие Button_Click не вызвано из-за CompareValidator - PullRequest
1 голос
/ 05 июня 2009

У меня есть страница, содержащая <code><asp:Button/>, чтобы покинуть страницу, и <code><asp:TextBox/>, чтобы получить некоторую дату, и еще один <code><asp:TextBox/>, чтобы подтвердить эти данные.

Валидатор подтверждения настроен следующим образом:

<code><asp:CompareValidator ID="CompareValidator" runat="server"
ErrorMessage="error message" ControlToValidate="ConfirmTextBox"
ControlToCompare="TextBox"
Operator="Equal"></asp:CompareValidator>

На странице, при редактировании полей, валидатор сравнения запускается, когда ControlToValidate или ControlToCompare теряет фокус.

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

Атрибут causesValidation кнопки установлен на false.

Можно ли запустить метод Button_Click при сохранении функциональности валидатора сравнения, не прибегая к проверке сервера или regexValidator, использующему значение TextBox.Text?

Ответы [ 2 ]

2 голосов
/ 05 июня 2009

CompareValidator выполняет сравнение на стороне клиента в браузере пользователя. Если возникнет ошибка, то она автоматически предотвратит запуск события Button_Click, поскольку обратной передачи не произойдет. Я думаю, что ваше решение состоит в том, чтобы просто выполнить сравнение на стороне сервера.

1 голос
/ 05 июня 2009

Если страница недействительна, почему вы все еще хотите, чтобы произошло событие Button_Click?

...