我正在使用类似于提到的网络网格这里
@{
var grid = new WebGrid(canPage: true, rowsPerPage: ThisController.PageSize, canSort: true, ajaxUpdateContainerId: "grid");
grid.Bind(Model.Employees, rowCount: Model.TotalRecords, autoSortAndPage: false);
grid.Pager(WebGridPagerModes.All);
@grid.GetHtml(htmlAttributes: new { id="grid" },
columns: grid.Columns(
grid.Column(format: (item) => Html.ActionLink("Edit", "Edit", new { EmployeeID = item.EmployeeID })),
grid.Column("FullName"),
grid.Column("Title")
));
}
但就我而言,我期望超过 2000 条记录,我只想在每个页面上加载 50 条记录,以便页面加载速度更快。如何确保在加载页面时仅加载前 50 条记录。当我的用户单击 page2 时,我想加载接下来的 50 组记录,依此类推。 你们中的任何人遇到过类似的事情,请向我推荐一些示例代码
这篇 MSDN 杂志文章展示了您想要的内容:
阅读本节:添加分页和排序
如您所见,我们传递的数据包含完整的列表 产品(本例中有 295 个,但不难想象 检索更多数据的场景)。随着数据量 返回的增加,您给您的服务带来越来越多的负载,并且 数据库,同时仍然呈现相同的单页数据。但 有一个更好的方法:服务器端分页。在这种情况下,你拉 仅返回显示当前页面所需的数据(例如, 只有五行)。
@{ var grid = new WebGrid(canPage: true, rowsPerPage: 50, canSort: true, ajaxUpdateContainerId: "grid");
-剩余代码与您的代码相同
}
只需将 rowsperpage: 更改为您要显示的行数
List<WebGridColumn> webGridColumn=new List<WebGridColumn>();
var grid=new WebGrid(source:model,
defaultSort:"stk_code",
rowsPerPage:Model.Count(),
canPage:true,
canSort:true);
webGridColumn.Add(grid.Column("stcode",header:"Stock Code",canSort:false));