использование jquery для модального asp.net - PullRequest
1 голос
/ 22 октября 2011

В моей форме есть элементы управления asp.net UpdatePanel и UpdateProgress.Я пытаюсь сделать обновление прогресса модальным с помощью jQuery BlockUI Plugin или самого jquery.

$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI); не работает, потому что я использую UpdatePanel и серверный ASP.NET AJAX.

Я заметил, что в Частичной обратной передаче только UpdateProgress изменяет стиль отображения с display: none на display: block

Поэтому мне интересно, есть ли какое-либо событие изменения стиля в jquery для вызова $.blockUI(); или любое другое решение для использования jQuery BlockUI Plugin с панелью обновления asp.net и UpdateProgress

1 Ответ

2 голосов
/ 22 октября 2011

Поместите этот скрипт под элементом управления ScriptManager:

<script type="text/javascript">
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_initializeRequest(initializeRequest);
    prm.add_pageLoaded(pageLoaded);

    var blockTimeout = null;

    function initializeRequest(sender, args) {
        blockTimeout = window.setTimeout($.blockUI, 500);
    }

    function pageLoaded(sender, args) {
        clearTimeout(blockTimeout);
        $.unblockUI();
    }
</script>

Тайм-аут позволяет избежать блокировки страницы для очень коротких асинхронных запросов.

...