Как вы используете надстройку jQuery blockui с MVC Ajax? - PullRequest
0 голосов
/ 31 октября 2008

Я читал пост здесь:

http://encosia.com/2008/10/04/using-jquery-to-enhance-aspnet-ajax-progress-indication/

Но он хочет использовать следующий объект:

Sys.WebForms.PageRequestManager.getInstance()

Который не существует при использовании кода MVC AJAX. Кто-нибудь пытался перехватить, когда постбэк заканчивается из MVC AJAX, чтобы узнать, когда разблокировать интерфейс?

Ответы [ 2 ]

1 голос
/ 06 февраля 2009

Дейв прав, нет способа "MVC" сделать это, но у вас наверняка есть доступ к событиям ajax в jQuery. Вызов setTimeout позволяет нам держать blockUI скрытым, если вызов AJAX возвращается менее чем за 250 мс.

$().ajaxSend(function() {
  doLoad = setTimeout(function() { 
   $("#divtoblock").block({ message: "Loading..." }); }, 250);
});

$().ajaxComplete(function() {
  clearTimeout(doLoad);
  $("#divtoblock").unblock();
});
1 голос
/ 27 ноября 2008

На самом деле не существует способа использовать blockUI, как предполагалось, с полным обходом до сервера.

Если вы используете функции jQuery $ .ajax () или $ .getJSON для асинхронной работы с сервером, вы можете заблокировать перед вызовом, а затем разблокировать в обработчике success.

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