Как отключить ASP.NET AJAX ConfirmButtonExtender при сбое проверки страницы?

У меня есть кнопка отправки с помощью расширителя Microsoft ConfirmButton для спросите «Вы уверены?». Однако он срабатывает независимо от того, прошла ли страница проверку на стороне клиента.

<asp:TextBox ID="TextBox1" runat="server" />
<asp:RequiredFieldValidator ID="RequiredFieldValidatorTextBox1"
    runat="server"
    ControlToValidate="TextBox1"
    ErrorMessage="First name is required"
    Display="Dynamic" />
...
<asp:Button ID="Button1"
    runat="server"
    Text="Submit"
    CausesValidation="True" />
<ajaxToolkit:ConfirmButtonExtender ID="ConfirmButtonExtenderButton1"
    runat="server"
    TargetControlID="Button1"
    ConfirmText="Are you sure?" />
...
<asp:ValidationSummary id="ValidationSummary1"
    runat="server"
    ShowMessageBox="True" />

Итак, если пользователь оставляет обязательное поле пустым и нажимает кнопку «Отправить». Она увидит два окна сообщений:

Один для проверки ...

ValidationSummary ShowMessageBox http://img120.imageshack.us/img120/8305/validationzn6.gif < / а>

Потом один для подтверждения ...

ConfirmButtonExtender http://img228.imageshack.us/img228/678/confirmationam3.gif

(Примечание: ОК и Отмена просто отменяют.)

Нет смысла отображать подтверждение, если проверка не удалась. Должно быть одно или другое. Как я могу это сделать?


Обновлять:

Если я попытаюсь использовать ConfirmOnFormSubmit, я получаю следующее предупреждение:

Проверка (ASP.Net): атрибут «ConfirmOnFormSubmit» не является допустимым атрибутом элемента «ConfirmButtonExtender».

http://img382.imageshack.us/img382/1391/confirmonformsubmitow3.gif


person Zack Peterson    schedule 27.01.2009    source источник
comment
РЕДАКТИРОВАТЬ: Согласно этому сайту, это действительно так. Попробуйте выполнить обновление до последней версии и или проигнорируйте intellisense и просто посмотрите, что произойдет, когда вы его разместите.   -  person craigmoliver    schedule 28.01.2009
comment
Как ты решил эту проблему, Зак?   -  person challengeAccepted    schedule 01.11.2010


Ответы (1)


Убедитесь, что ConfirmOnFormSubmit имеет значение TRUE для ConfirmButtonExtender.

С пример сайта:

ConfirmOnFormSubmit - Истина, если диалоговое окно подтверждения должно ждать, пока форма не будет отправлена ​​для отображения. Это полезно, когда используются валидаторы ASP.NET и подтверждение должно отображаться только после прохождения всех валидаторов.

РЕДАКТИРОВАТЬ: Согласно этому сайту, это действительно так. Попробуйте обновить до последней версии и или игнорировать intellisense и просто посмотрите, что произойдет, когда вы его разместите.

person craigmoliver    schedule 27.01.2009
comment
Спасибо. Это кажется правильным ответом, но он не работает. Я обновил вопрос. - person Zack Peterson; 27.01.2009