2016-12-30 11 views
0

json配列のデータをASP.NETコントローラに送信しようとしています。私はjQuery Ajaxを使ってコントローラにデータを完全に送ることができますが、Datatables.net Ajaxを使って同じことをすることはできません。Datatables Ajaxデータ:JsonアレイをASP.NETコントローラに送信

コントローラー:

[HttpPost] 
public JsonResult DataTablesHandler(DTParameters param, List<AdvancedSearch> advSearch) 
{ 
    //code... 
} 

のDataTable:

var dt = table.DataTable({ 
     columns: [], 
     processing: true, 
     serverSide: true, 
     ajax: { 
      type: 'POST', 
      url: '/Controller/DataTablesHandler', 
      data: function (d) 
      { 
       d.advSearch = advSearch; 
      } 
     } 
    }); 

JSON配列:リストのパラメータは常に空ですadvSearch

advSearch = [{"column":"id","value":"1"},{"column":"name","value":"Jon Snow"}]; 

コントローラ。 何が間違っていますか?

答えて

0

私は私のコントローラにListオブジェクトを送信することができませんでしたので、私は文字列としてデータを送信し、コントローラーの値を解析することになった:

[HttpPost] 
public JsonResult DataTablesHandler(DTParameters param, string advSearch) 
{ 
    ///convert JSON string to List<AdvancedSearch> 
    var advSearchParams = JsonConvert.DeserializeObject<List<AdvancedSearch>>(advSearch); 

    //(...) 
} 
関連する問題