2017-11-09 9 views
0

こんにちはデータテーブルを設定しました。私はページの負荷に関するデータを表示することができます。しかし、次のページをクリックすると、サーバー側に呼び出しが行われ、データが返されますが、データテーブルは更新されません。誰が何が起こっているか教えてくれますか?データテーブルがAJAXコール後に更新されない

$(document).ready(function() { 
    //get Data Tables Query 
    buildDataTables(); 
}); 


function buildDataTables() { 
    if (!$.fn.DataTable.isDataTable('#locationTable')) { 
     $('#locationTable').DataTable({ 
      "bServerSide": true, 
      "sAjaxSource": '/Home/GetDataTablesQuery', 
      paging: true, 
      "iDisplayLength": 10, 
      "aoColumns": [ 
       { "mData": "Address1", "name": "Address 1" }, 
       { "mData": "City", "name": "City" }, 
       { "mData": "Size", "name": "Approx SF" }, 
       { "mData": "StoreNumber", "name": "Store #" }, 
      ] 
     }); 
    } 

ページングのデータ可能なデータを更新するにはどうすればよいですか?

+0

クリックしたときにどこにコードを表示して、サーバーに電話をかけることができますか? –

答えて

0

私は問題が何であるか知っています。私はいつもレスポンスでsEchoを10に設定していました。 DataTableから送信された値をサーバーに渡す必要があります。

[AllowAnonymous] 
     public AdvancedJsonResult GetDataTablesQuery(LocationsFilter locationFilter) 
     { 
      List<LocationInfo> locationInfos = new List<LocationInfo>(); 
      int totalRecords = 0; 

      locationFilter.CurrentPage = (locationFilter.iDisplayStart/locationFilter.iDisplayLength) + 1; 

      ////Default Page Number to 1 if Zero 
      //if (locationFilter.CurrentPage == 0) 
      //{ 
      // locationFilter.CurrentPage = 1; 
      //} 

      //Default Page Size 
      locationFilter.PageSize = locationFilter.iDisplayLength; 

      //Get Records 
      locationInfos = _LocationInfoLogic.Get(locationFilter, out totalRecords); 
      var dataTablesResponse = new { aaData = locationInfos.ToArray(), iTotalRecords = totalRecords, iTotalDisplayRecords = totalRecords, sEcho = locationFilter.sEcho }; 
      return new AdvancedJsonResult { Data = dataTablesResponse }; 
     } 
関連する問題