服务器端分页似乎没有工作c#asp.net jquery datatables

时间:2014-07-01 06:56:31

标签: c# pagination jquery-datatables

我试图让分页工作,但它不起作用。我在数据库中有超过90k的记录,但它只在下面的屏幕截图中显示50条记录:

enter image description here

我按照this tutorialresolved query

返回以下JSON
return Json(new
        {
            sEcho = param.sEcho,
            iTotalRecords = tracks.Count(),
            iTotalDisplayRecords = filteredTracks.Count(),
            aaData = results
        },
            JsonRequestBehavior.AllowGet);
    }

这是分页控制器代码:

var displayedTracks = filteredTracks.Skip(param.iDisplayStart).Take(param.iDisplayLength);

这是dataTable的View代码:

var oTable = $('#myDataTable').hide(50).fadeIn(10).dataTable({
        "oLanguage": {
            "sSearch": " "
        },
        "bAutoWidth": false,
        "sAjaxSource": "Ajax_DB",
        "deferRender": false,
        "bServerSide": true,
        "bProcessing": true,
        "sScrollY": "333",
        "iDisplayLength": 50,
        "bPaginate": true,
        "bRetrieve": true,
        "bDestroy": true,
        "sPaginationType": "full_numbers",
        "aoColumns": [
    { "mDataProp_": "TrackID", "sWidth": "1%" },
    { "mDataProp_": "AddedDate", "bSortable": false, "sWidth": "1%" },
    { "mDataProp_": "TrackName", "sWidth": "43%" },
    { "mDataProp_": "ArtistName", "sWidth": "30%" },
    { "mDataProp_": "ArtistName", "sWidth": "30%" }
        ]
    });

我不知道我在这里做错了什么,分页似乎不起作用。有人可以帮助我如何实现这个目标吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

它非常简单的配偶

只需将您的 iDisplayLength 属性值更改为您所需的数量,即100或任何

"iDisplayLength": 100 

请参阅datatables.net了解可以帮助您的文件

希望有所帮助

您确定您的代码如下所示:

 filteredLeads = filteredLeads.OrderByDescending(orderingFunction);

 var DisplayedLeads = filteredLeads.Skip(param.iDisplayStart).Take(param.iDisplayLength);

            var result = from c in DisplayedLeads select new string[] { // my columns  };
            return Json(new
            {
                sEcho = param.sEcho,
                iTotalRecords = leadDetails.Count(),
                iTotalDisplayRecords = filteredLeads.Count(),
                aaData = result
            },
                        JsonRequestBehavior.AllowGet);
        }

让我们知道你的测试结果在调试时会出现在itotalrecords,iTotalDisplayRecords,aaData上。