使用MVCContrib网格进行服务器端分页

时间:2011-07-26 21:58:05

标签: c# .net asp.net-mvc-3 mvccontrib mvccontrib-grid

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

我正在尝试使用MVCContrib进行此工作,但在我看来,网格及其寻呼机仅支持本地分页和过滤。可用页面的数量取决于集合中已存在的项目的数量,或者在我看来。

有没有办法让MVCContrib与服务器端分页一起工作?

2 个答案:

答案 0 :(得分:3)

MVCContrib中有一个名为CustomPagination的类。构造函数采用以下参数

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

然后将其传递给网格和寻呼机。

答案 1 :(得分:1)

您需要自己实现IPagination接口,向您的action方法添加一个page参数,然后将其传递给您的存储过程以获取相应的项集合。然后从中填充每个IPagination属性以及您对存储过程如何工作的了解。

如果您需要更具体的示例,您的存储过程示例(或其缩减版本)可能会有所帮助。

  

“可用页面数量由已经的数量决定   收藏中的物品,或者在我看来。“

也许您正在查看使用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实现。