我必须使用存储过程来获取和分页数据。该特定存储过程具有各种参数,包括寻呼信息。显然,需要在服务器端完成分页,每次用户选择新页面时都需要提取一页数据。
我正在尝试使用MVCContrib进行此工作,但在我看来,网格及其寻呼机仅支持本地分页和过滤。可用页面的数量取决于集合中已存在的项目的数量,或者在我看来。
有没有办法让MVCContrib与服务器端分页一起工作?
答案 0 :(得分:3)
MVCContrib中有一个名为CustomPagination
的类。构造函数采用以下参数
(Enumerable<T> dataSource, int pageNumber, int pageSize, int totalItems)
然后将其传递给网格和寻呼机。
答案 1 :(得分:1)
您需要自己实现IPagination接口,向您的action方法添加一个page参数,然后将其传递给您的存储过程以获取相应的项集合。然后从中填充每个IPagination属性以及您对存储过程如何工作的了解。
如果您需要更具体的示例,您的存储过程示例(或其缩减版本)可能会有所帮助。
“可用页面数量由已经的数量决定 收藏中的物品,或者在我看来。“
也许您正在查看使用LINQ风格的样本。这并不一定意味着整个集合都在内存中。此外,即使它们在内存中,我仍然会调用此服务器端分页 - 对我来说,Web应用程序中的客户端分页意味着javascript。
PS:这可能会帮助您入门,但通过它的声音,您将需要忽略它的实体框架位:
如果他们使用“AsPagination()”扩展名,您需要调用存储过程并填充自己的IPagination实现。