2011-10-21 4 views
1

私は自分のフォームにasp.net UpdatePanelとUpdateProgressコントロールを持っています。私はjQuery BlockUI Pluginまたはjquery自体によって更新進行をモーダルにしようとしています。モーダルasp.net ajaxのudateの進捗状況のためのjqueryを使用して

$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);は、私がUpdatePanelとServer-Side ASP.NET ajaxを使用しているため動作しません。

私はjqueryの内の任意のスタイルの変化イベントがあるのであれば、私はjQuery BlockUI Pluginを使用するために$.blockUI();または他のソリューションを呼び出すために思ったんだけど、部分ポストバックでdisplay: block

からdisplay: noneからわずかのUpdateProgress DISPLYスタイルの変化に気づきました

<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> 

タイムアウトを避けることができます:asp.netのUpdatePanelのとのUpdateProgress

答えて

2

置きScriptManagerコントロール下に、このスクリプトで非常に短い非同期要求のためのブロックページ。

+0

@Yriy:エラー時に$ .unblockUI()メソッドを呼び出す方法はありますか? – Mostafa

+0

@Mostafa、はい、PageRequestManagerのendRequestイベントハンドラを使用して、pageLoad関数の代わりにunblockUIメソッドを呼び出すことができます –

関連する問題