c#
  • ajax
  • asp.net-mvc
  • 2016-05-23 14 views 1 likes 
    1

    ラジオボタンからデータを取得するajaxコードがあります。送信ボタンにajaxデータをバインドするAsp.net MVC

    $("input[name='SelectedCG']").on('change', function() { 
         $.ajax({ 
          url: '@Url.Action("FilterReports", "Reports")', 
          data: { cgName: $("input[name='SelectedCG']:checked").val() }, 
          type: 'POST', 
          success: function (data) { 
           $('#reportTable').html(data); 
           $('#reportTable').show(); 
          }, 
          error: function(xhr, status, error) 
          { 
           alert(xhr.responseText); 
          } 
         }) 
        }); 
    

    このデータを送信ボタンにバインドして、この情報をコントローラ内のメソッドに渡すことができます。

    <input type="submit" value="Export" class="btn btn-primary btn-large" onclick="location.href='@Url.Action("Export", "Reports")'"> 
    

    助けていただければ幸いです!

    +0

    送信ボタンを使用してGETを行っていますか?そして、 'Export()'メソッドにどのような情報を渡したいですか? –

    +0

    ラジオボタンをクリックすると名前のリストが表示されますが、このデータをExport()メソッドに渡すことができる送信ボタンをクリックします。 – pavilion

    +0

    あなたはそうしません。 'FilterReports()'メソッドと同じように、ラジオボタンの値を渡して、再度 'Export()'メソッドでデータを取得するだけです。 –

    答えて

    1

    RadioButtonの値をExportメソッドに渡してデータを再度取得する方が適切です。どのような場合でも、データをエクスポートする前にそのデータをさらに処理する必要があるかもしれません。

    また、そのようなデータをエクスポートするためのユーザーのアクセス許可を確認することもできます。

    また、このようなデータをネットワーク経由で転送したくない場合もあります。エクスポートしなければならないデータの集合を送信するよりも、ボタンの値を送るほうが簡単です(より速く)。

    受信したデータをどのように処理し、正しいかどうかに応じてセキュリティ上の懸念もあります。ユーザーがエクスポートボタンを押す前にブラウザで手動で変更した場合アプリケーションのロジックを何らかの形で傷つけ、それに対して自分自身を守りたいのですか?

    AntiForgeryTokenを含むようにHttpPostを使用し、ラジオボタンの値を送信してユーザーのアクセス許可を確認することをお勧めします。

    関連する問題