none
ajax通信成功後にイベントを発生させるには? RRS feed

  • 質問

  • asp.net 4+visual web developerでajax extensionsを使用しています.

    ボタンをクリックして非同期通信が成功した後,javascriptの

    関数を実行させたいと考えていますが,非同期通信が成功した後にイベントを発生されるには

    どのようにすればいいのでしょうか?.

     

     

    2010年7月24日 16:05

回答


  • Web隊長 さんに返信

    非同期通信はどのような類のものでしょうか。
    たとえば UpdatePanel を用いた非同期ポストバックであれば
    非同期通信の完了イベントがあるので、そのハンドラーで例外が発生したかチェックして
    例外が発生していなければ成功時の関数を呼ぶようにすると善いのではないでしょうか。

    AutoCompleteExtender のようにコントロールが非同期通信を行うような場合は
    コントロールのプロパティで完了時に呼ぶ関数を指定できるかと思います。
    • 回答としてマーク Web隊長 2010年7月25日 1:39
    2010年7月24日 21:45
  • > ボタンをクリックして非同期通信が成功した後,javascriptの関数を実行させたいと考え
    > ていますが,非同期通信が成功した後にイベントを発生されるにはどのようにすればいい
    > のでしょうか?.

    ASP.NET PageRequestManager クラスが利用できると思います。詳しくは以下のページを見て
    ください。

    クライアント スクリプトでの部分ページ更新の管理
    http://msdn.microsoft.com/ja-jp/library/bb386571.aspx

    PageRequestManager のイベントの処理
    http://msdn.microsoft.com/ja-jp/library/bb398976(VS.90).aspx

    MSDN ライブラリで、PageRequestManager をキーワードに検索をかけると、他にもサンプル
    コード入りのページが見つかります。

    • 回答としてマーク Web隊長 2010年7月25日 1:39
    2010年7月25日 0:32

すべての返信


  • Web隊長 さんに返信

    非同期通信はどのような類のものでしょうか。
    たとえば UpdatePanel を用いた非同期ポストバックであれば
    非同期通信の完了イベントがあるので、そのハンドラーで例外が発生したかチェックして
    例外が発生していなければ成功時の関数を呼ぶようにすると善いのではないでしょうか。

    AutoCompleteExtender のようにコントロールが非同期通信を行うような場合は
    コントロールのプロパティで完了時に呼ぶ関数を指定できるかと思います。
    • 回答としてマーク Web隊長 2010年7月25日 1:39
    2010年7月24日 21:45
  • > ボタンをクリックして非同期通信が成功した後,javascriptの関数を実行させたいと考え
    > ていますが,非同期通信が成功した後にイベントを発生されるにはどのようにすればいい
    > のでしょうか?.

    ASP.NET PageRequestManager クラスが利用できると思います。詳しくは以下のページを見て
    ください。

    クライアント スクリプトでの部分ページ更新の管理
    http://msdn.microsoft.com/ja-jp/library/bb386571.aspx

    PageRequestManager のイベントの処理
    http://msdn.microsoft.com/ja-jp/library/bb398976(VS.90).aspx

    MSDN ライブラリで、PageRequestManager をキーワードに検索をかけると、他にもサンプル
    コード入りのページが見つかります。

    • 回答としてマーク Web隊長 2010年7月25日 1:39
    2010年7月25日 0:32
  • 自己解決いたしました.

    UpdatePanelを利用した非同期通信を行っています.

    pageLoad関数とisPartialLoadプロパティを使う事で

    希望の処理ができるようになりました.

     function pageLoad(sender, /*Sys.ApplicationLoadEventArgs*/args) {

            if (args.get_isPartialLoad() == true) {
        //非同期通信が行われた後の処理を記述 
            }

    }

    参考ページ

    http://bitwiz.jp/tabid/56/EntryID/52/Default.aspx

    >もりお様,SuferOnWww様

    ご返答いただきありがとうございました.
    2010年7月25日 1:39