UpdatePanelの更新をフックする

ASP.NET AJAXを使った開発をしていてUpdatePanelの更新の開始と終了をフックして色々したかったので調べてみたら、案外簡単にできることがわかったのでメモ。

参考にしたのは以下の記事

フックするコードが以下。ASP.NET AJAXクライアントライブラリ以外にもjQueryを使っている。

<script type="text/javascript">
    $(document).ready(function() {
        var prm = Sys.WebForms.PageRequestManager.getInstance();

        // 開始時のイベント
        prm.add_beginRequest(function() {
            $("#side").slideUp("slow");
        });
        // 終了時のイベント
        prm.add_endRequest(function() {
            $("#side").slideDown("slow");
        });
    });
</script>

「Sys.WebForms.PageRequestManager」とか言うクラスを使うとUpdatePanelの各種イベントをフックできるみたい。

また、イベント引数(関数に渡ってくる引数)を調べれば、どのUpdatePanelからのリクエストからかもわかるようなので、状況によって処理をわけることもできる。

( ´_ゝ`)フーン