2016-05-02 8 views
0

この質問が以前に尋ねられたことを知っていますが、.NETコアで動作する具体的な回答は見つかりませんでした。ASP.NETビューからコントローラへのデータの受け渡し.NETコアのJSを使用した非同期

モデル値をコントローラに戻して、私はその上でいくつかの作業を行うことができます。 .azax URL内の@ Url.Action( "Action"、 "Controller")としてURLを送信するためにRazor URLヘルパーを使用できますか?また、非同期で作業するためにデータを送信するにはどうすればよいですか? **

[HttpPost] 
    public void AjaxReturn(JsonResult data) 
    { 
     var thisData = data; 

    } 

私は、例えば(datatables.net)応答JSのDataTableのためにこれを使用しています:

$('#ajaxBtn').on('click', function (e) { 

     $.ajax({ 
      url: "/Home/AjaxReturn", 
      type: "POST", 
      dataType: "json", 
      data: 'data: 12345', 
      success: function() { 
      } 
      }); 

    }); 

はここに私のコントローラのコードです:ここに私のスクリプトファイルです。 DELETEをクリックすると、IDをコントローラに戻してレコードを削除してステータスを返すことができます。

+0

あなたは 'URL置き換える意味ですか:'、 '@のUrl.Action( "AjaxReturn"、 "ホーム")': "/ホーム/ AjaxReturn"、 '' URLとは? - はい。しかし、それは 'data:{data:12345}、' public void AjaxReturn(文字列データ) '(または' int data') –

+0

@StephenMueckeの答えが必要です。しかし、実際のアプリケーションでは、スクリプトが独自のJavaScriptファイルに保存されていたため、これが機能していないことに気付きました。このシナリオでは、URLタグヘルパーをどのようにリダイレクトするのですか? – Reza

+2

多くの方法があります。メインビューでグローバル変数 'var url = '@ Url.Action(...)';および外部ファイル' url:url'を作成します。または、ボタンにデータ属性 'data-url =" @ Url.Action(....) "を追加し、' var url = $(this).data( 'url');を使用するか、初期化関数を作成します外部ファイル用に、メインビューから関数に渡します。 –

答えて

0

あなたのajaxコードのパラメータを変更しようとします。

data: '"data": "12345"', 
関連する問題