1

フォームにasp.netUpdatePanelおよびUpdateProgressコントロールがあります。jQueryBlockUIプラグインまたはjquery自体によって更新の進行状況をモーダルにしようとしています。

$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);UpdatePanelとサーバーサイドASP.NETajaxを使用しているため、機能しません。

部分的なポストバックで、UpdateProgressがスタイルをからdisplay: noneに変更することに気づきましたdisplay: block

だから私は、asp.netupdatepanelとUpdateProgressでjQueryBlockUIプラグイン$.blockUI();を使用するために呼び出すjqueryまたは他のソリューションにスタイル変更イベントがあるかどうか疑問に思っています

4

1 に答える 1

2

このスクリプトを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>

タイムアウトにより、非常に短い非同期要求のページのブロックを回避できます。

于 2011-10-21T22:13:56.263 に答える