Ajax.BeginForm - события проверки хука - PullRequest
1 голос
/ 11 ноября 2010

Что я делаю, так это отключаю кнопку отправки, когда она нажата. Вызов Ajax несколько длительный; требуется пара секунд, чтобы вернуться. Поэтому я не позволяю нетерпеливым пользователям отправлять несколько сообщений. Проблема возникает в случае сбоя формы из-за ошибок проверки. Без способа перехватить событие невозможно определить, нужно ли перезапустить кнопку отправки.

Документация ASP.Net MVC заставляет меня поверить, что такого события не существует. Есть ли способ взломать это, чтобы включить то, что мне нужно?

Редактировать: я забыл упомянуть, что форма выполняет проверку на стороне клиента. А-ля

<% Html.EnableClientValidation(); %>

Редактировать: ни OnComplete, ни OnFailure не запускаются при сбое проверки на стороне клиента. Обратите внимание, что OnFailure срабатывает только при сбое действия контроллера, а не при сбое проверки.

Ответы [ 2 ]

0 голосов
/ 18 ноября 2010

Вы заметили, что существует также обратный вызов OnFailure ? Отключите его в OnBegin и снова включите в OnFailure .

0 голосов
/ 11 ноября 2010

Вы можете отключить кнопку в обратном вызове OnBegin и снова включить ее в обратном вызове OnComplete .

...