0

私は両方のMVCAjax呼び出しを利用するWebアプリケーションを持っています: ページソースのようにHtml.ActionLink()レンダリングしますSys.Mvc.AsyncForm.handleClick(

および:jQuery Ajax呼び出し、例:

$.post()

これで、jQueryが以下を使用して非同期呼び出しを行っているときに表示および非表示にする一般的なAjaxインジケーターを簡単に設定できます。

  $('#indicatorId').ajaxStart(function() {
                $(this).show();
            }).ajaxStop(function() {
                $(this).hide();
            });

また、Ajax.ActionLinkコンストラクターのコンストラクターに値を渡し、andを設定することで、同じインジケーターを表示および非表示にする関数を設定できますOnBeginOnComplete、これは、新しいAjax.ActionLinkをサイトに追加するたびにこれを行う必要があることを意味します。

これを行うためのより良い方法はありますか?おそらく、レンダリング後にDOMをスキャンして、一般的なイベントを追加することができますか?

何か考え、より良い例はありますか?

4

1 に答える 1

0

やむを得ない理由がない限り(私は1つも見つけたことがありません)、jQueryとMS Ajaxを同じサイトに混在させないでください。やむを得ない理由がない限り、jQueryを使用する必要があります。したがって、Ajax.*javascriptでマークアップを汚染する傾向があるヘルパーメソッドを使用する必要はありません。

目立たないように、jQueryの方法で実行してください。

于 2010-06-29T17:05:44.903 に答える