服务器端分页与MVCContrib网格

本文关键字:网格 MVCContrib 分页 服务器端 | 更新日期: 2023-09-27 18:03:30

我必须使用存储过程来获取和分页数据。这个特定的存储过程具有各种参数,包括分页信息。显然,分页需要在服务器端完成,每次用户选择一个新页面时需要获取一页数据。

我试图得到这个工作与MVCContrib,但在我看来,网格和它的寻呼机只支持本地分页和过滤。可用页面的数量是由集合中已经存在的条目的数量决定的,至少在我看来是这样。

是否有办法使mvccontribute工作与服务器端分页?

服务器端分页与MVCContrib网格

在MVCContrib中有一个类叫CustomPagination。构造函数接受以下参数

(Enumerable<T> dataSource, int pageNumber, int pageSize, int totalItems)

然后将其传递给Grid和Pager

您需要自己实现想像力接口,将页面参数添加到您的操作方法中,然后将其传递到存储过程中,以获得适当的项集合。然后根据您对存储过程如何工作的了解来填充每个想像力属性。

如果您想要更具体的示例,一个存储过程的示例(或它的精简版本)可能会有所帮助。

"可用页面数由已存在的页面数决定收藏品中的展品,至少在我看来是这样。"

也许你正在寻找使用LINQ风味的样品。这并不一定意味着整个集合都在内存中。此外,即使它们在内存中,我仍然会将其称为服务器端分页——对我来说,web应用程序中的客户端分页意味着javascript。

PS:这可能会帮助你开始,虽然听起来你需要忽略它的实体框架位:

http://weblogs.asp.net/rajbk/archive/2010/05/08/asp-net-mvc-paging-sorting-filtering-using-the-mvccontrib-grid-and-pager.aspx

在使用"AsPagination()"扩展的地方,您需要调用您的存储过程并填充您自己的IPagination实现。