0

以下のような画面にしたいと思います。

   <div id="statusText></div> 

   <button type="button" id="transferData1"
       data-href="/Tools/Data/TransferData1">Transfer Data 1</button>
   <button type="button" id="transferData2"
       data-href="/Tools/Data/TransferData2">Transfer Data 2</button>
   <button type="button" id="transferData3"
       data-href="/Tools/Data/TransferData3">Transfer Data 3</button>

各ボタンをクリックすると、MVC アクション メソッドが呼び出され、ステータスが返されます。複数のボタンがある場合に、jQuery、Ajax、および JSON を使用してこれを設定できる簡単な方法はありますか?

これまでのところ、次のスクリプトがあります。

<script type="text/javascript">
    $(document).ready(function () {
        $('#transferData')
            .click(function () {
                xxx
            });

    });
</script>

しかし、このスクリプトをさまざまなボタン ID で機能させ、Ajax でさまざまなアクション メソッドを呼び出すにはどうすればよいでしょうか?

4

2 に答える 2

2

いくつかのオプションがあります

1)フォームを使用し、各ボタンに値を指定し、そのボタンに対してポストバックされた値を確認することで、サーバー側で押されたボタンを区別します。ActionFilters(http://www.dotnetcurry.com/ShowArticle.aspx?ID=724)を使用して、これをクリーンアップ/複数のサーバー側アクションに分割するための優れた方法があります。ajaxが必要な場合は、mvc3で目立たないajax拡張機能を使用できます。

2)jqueryを使用してボタンのクリックメソッドをオーバーライドし、アクションを手動で呼び出してから、結果を使用します

$('[data-href]').click(function() { 
  $.ajax({ url: $(this).attr('data-href') })
    .success(function(data) {});
});
于 2012-05-19T06:07:38.200 に答える
0

手順を知りたい場合、最も簡単で適切な方法は、いくつかの値を投稿したい場合は各ボタンをフォームにバインドすることだと思います。それ以外の場合は必要ありません。ボタン 1 には form1 、ボタン 2 には form2 、ボタン 3 には form3 を使用します。そこから物事は簡単になるはずです。

ボタンごとにjqueryボタンクリックイベントがあり、単一のアクションメソッドがあり、ボタン名をアクションメソッドに渡し、ボタン名に従ってリクエストを処理してjson結果を返すことができます。

于 2012-05-19T06:15:09.910 に答える