2016-12-30 218 views
0

我試圖將數據發送到一個ASP.NET控制器的json數組。我能夠使用jQuery Ajax將數據完美地發送到控制器,但是無法使用Datatables.net Ajax做同樣的事情。數據表Ajax數據:發送Json數組到ASP.NET控制器

控制器:

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

數據表:

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

JSON數組:

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

這些控制器advSearch列表參數總是空的。 我在做什麼錯?

回答

0

因爲我無法List對象發到我的控制,我結束了在發送數據作爲一個字符串,並在控制器解析值:

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

    //(...) 
}