首页 > 解决方案 > Datatables Jquery - 找不到匹配的记录

问题描述

我有 Jquery Datatables 服务器端,当我导航到我的页面以查看 Datatables 中的结果时,它显示“未找到匹配的记录”,然后我调试了我的代码,我可以看到它检索正确的数据,我还检查了浏览器中的响应它也检索数据。

json响应:

{"data":
[{"Kundenavn":"test 1"},
{"Kundenavn":"test 2"},
{"Kundenavn":"test 3"}]
,"draw":"1","recordsTotal":567,"recordsFiltered":567}

JavaScript:

<table id="OrdrerList">
    <thead>
        <tr>
            <th>Kundenavn</th>
        </tr>

    </thead>
    <tbody>
    </tbody>
</table>

$('#OrdrerList').DataTable({

 "processing": true,
 "serverSide": true,

    ajax:{
        url: '@Url.Action("GetClosedRMA", "User")',
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        dataSrc: ''

        },
    columns: [

        { data: "Kundenavn" }
   ]
});

控制器:

public JsonResult GetClosedRMA()
{
    //Server side Parameters

    int start = Convert.ToInt32(Request["start"]);
    int length = Convert.ToInt32(Request["length"]);
    string searchValue = Request["search[value]"];
    string sortColumnName = Request["columns["+ Request["order[0][colmun]"]+ "][name]"];
    string sortDirection = Request["order[0][dir]"];

    List<RMAclosedCase> rmalist = new List<RMAclosedCase>();
    using (Namespace db = new Namespace())
    {
       rmalist = (from RH in db.RMA_History
                   join RS in db.RMAStatus on RH.StatusID equals RS.ID
                   where RH.SagesType == "LUK"
                   select new RMAclosedCase
                   {
                       Kundenavn = RH.Kundenavn

                   }).ToList();

       int totalrows = rmalist.Count();
            //Filter
            if (!string.IsNullOrEmpty(searchValue))
            {
                rmalist = rmalist.Where(x => x.Kundenavn.ToLower().Contains(searchValue.ToLower())).ToList();
            }
       int totalrowsefterfiltering = rmalist.Count();

        //Paging
        rmalist = rmalist.Skip(start).Take(length).ToList();

        return Json(new {data= rmalist,draw = Request["draw"], recordsTotal = totalrows,recordsFiltered = totalrowsefterfiltering },JsonRequestBehavior.AllowGet);
    }
}

我做错了什么?!:) 任何人都可以帮助我或指出我正确的方向!:) 提前致谢

标签: jqueryasp.net-mvcdatatables

解决方案


只需 dataSrc:"" 从您的 ajax 请求中删除。这在类似情况下对我有用。


推荐阅读