ASP.NET MVC 3 WebGrid分页问题

14

我的数据访问层返回一个包含单个页面的行和总行数的集合。

不幸的是,WebGrid组件不允许指定总行数或总页数(这些属性是只读的)。

有人以前处理过这个问题吗?


1
什么是WebGrid?MVC是否支持它?听起来像是一个ASP.net WebForms控件。 - Dismissile
9
Webgrid 是 MVC 3 中的一个新功能 - http://weblogs.asp.net/shijuvarghese/archive/2010/10/08/using-the-webgrid-helper-in-asp-net-mvc-3-beta.aspx - Martin
3个回答

22
您可以使用WebGrid上的Bind方法告诉网格使用服务器端分页。
grdv.Bind(myData, rowCount=10000, autoSortAndPage=False)
将autoSortAndPage设置为false会告诉网格myData只是数据的一个片段。它将显示此数据的所有行,而不考虑页面大小设置。分页器将使用您传递的rowCount而不是myData中记录的数量来构建。

我的表格不允许这个成员。分页器没有显示。 "rowsPerPage" 限制了我的表格行数。 - Taersious

6

编辑:我现在明白了你的问题。查看这篇文章,了解如何不使用WebGrid进行高效分页。

使用WebGrid进行分页

从这个页面上,看起来你可以指定每页的行数。

var grid = new WebGrid(source, rowsPerPage : 25);

请查看此页面(从第一个代码块的第9行开始)。


是的,但是我无法指定总行数 :( - Daniil Harik

2

rowsPerPage 只能通过构造函数进行设置。这样做是为了保持助手的简单性并避免处理复杂状态。总行数来自数据源。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接