2

私にはそのようなコントロールがあります:

<asp:Button ID="save_all_filt" runat="server" Text="All data for filtered subjects"
        OnClientClick="  a= saveAllFilt(); return true; "   onclick="save_all_filt_Click" />

saveAllFiltには、JQueryajax呼び出しが含まれています。したがって、ログに表示されるのは、postbackとsaveAllFiltを同時に開始することです。ただし、ポストバックは「遅延」し、AjaxがsaveAllFiltfininshesを呼び出す前に何もしません。

このような方法があるかどうか疑問に思います。1。onClientClick、システムはsaveAllFilt JS関数に入り、Ajax関数がこのように終了するまで何とか待機します(!)。2.それが終了したときだけ、本当のポストバックが起こり始めます。

私は、JQueryajax呼び出しがイベント駆動型で非同期であることを認識しています。終了するまでこれらのポストバックアクションをブロックしたいだけです(AJAX呼び出しは、サーバーのポストバックを介して発生する取得用のデータを準備します)。

4

1 に答える 1

4

jQueryAJAX構成オブジェクトのasyncプロパティfalseを次のように設定します。

$.ajax({
    /* ... */
    async : false
    /* ... */
})
于 2012-11-09T15:29:43.263 に答える