2016-11-14 12 views
-1

私はJQuery Datatablesサーバー側で働いています。 jsonオブジェクトを作成している間、戻すために、JsonRequestBehaviour.AllowGetは許可されません。コードがまったく同じであれば、クライアントサイドでデータを取得できません。JsonRequestBehaviour.AllowGet Not Working

HTML:

<table class="table table-striped table-bordered table-hover" id="EmployeeTable"> 
        <thead> 
         <tr> 
          <th>LastName</th>  
         </tr> 
        </thead> 
        <tbody></tbody> 
       </table> 


はJQuery:

$('#EmployeeTable').DataTable({ 
      "processing" : true, // for show progress bar 
      "serverSide" : true, // for process in server side 
      "filter" : false, // to disable search box 
      "orderMulti" : false,// for disable multiple columns at once 
      "ajax" : { 
       "url" : "/Employee/GetEmployeeDataTable", 
       "type" : "post", 
       "datatype" : "json" 
      }, 
      "columns" : [ 
         { "data": "LastName", "orderable": true } 
        ] 

     }); 

サーバー側:

[HttpPost] 
      public ActionResult GetEmployeeDataTable() 
      { 
       // Get Parameters 

       //get start(paging start index) and length(page size for paging) 
       var draw = Request.Form["draw"].FirstOrDefault(); 
       var start = Request.Form["start"].FirstOrDefault(); 
       var length = Request.Form["length"].FirstOrDefault(); 

       //get sort column values 
       var sortColumn = Request.Form["columns[" + Request.Form["order[0][column]"].FirstOrDefault()+"][name]"].FirstOrDefault(); 
       var sortColumnDir = Request.Form["order[0][dir]"].FirstOrDefault(); 

       int pageSize = length != null ? Convert.ToInt32(length) : 0; 
       int skip = start != null ? Convert.ToInt32(start) : 0; 
       int totalRecords = 0; 

       var employees = getDataService.GetAllEmployees().Select(x => new { 
        x.LastName 
       }).ToList(); 
       if(!(string.IsNullOrEmpty(sortColumn) && string.IsNullOrEmpty(sortColumnDir))) 
       { 
        employees.OrderBy(x => sortColumn + " " + sortColumnDir); 
       } 
       totalRecords = employees.Count(); 
       var data = employees.Skip(skip).Take(pageSize).ToList(); 


       var result = Json(new 
      { draw = draw, 
       recordsFiltered = totalRecords, 
       recordsTotal = totalRecords, 
       data = data 
      }); 
       return result; 

      } 

しかし、私は、私はMVCコアにこの事を見つけることができません

var result = Json(new 
      { draw = draw, 
       recordsFiltered = totalRecords, 
       recordsTotal = totalRecords, 
       data = data 
      },JsonRequestBehaviour.AllowGet); 

を次のように置く場合。どうすればいいのか教えてください。

答えて

0

asp.netコアでは、Json methodには、JsonRequestBehaviorのオーバーロードがありません。したがって、渡すデータでJsonメソッドを呼び出すことができます。

var result = Json(new 
      { draw = draw, 
       recordsFiltered = totalRecords, 
       recordsTotal = totalRecords, 
       data = data 
      }); 
return result; 
+0

私はすでに同じコードを持っていますが、動作していません。 –

+0

特に動作しないものは何ですか?コンパイル/ランタイムエラーが発生していますか?どのようなエラーですか?例外の詳細は何ですか? – Shyju

+0

私は解決策を得ました http://stackoverflow.com/questions/31845430/no-response-received-with-jsonresult-in-mvc-6 ありがとう –