【问题标题】:Server side paging with MVCContrib grid使用 MVCContrib 网格的服务器端分页
【发布时间】:2011-07-26 21:58:04
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    然后你将它传递给 Grid 和 Pager。

    【讨论】:

      【解决方案2】:

      您需要自己实现 IPagination 接口,将页面参数添加到您的操作方法中,然后将其传递到您的存储过程中以获取适当的项目集合。然后根据您对存储过程工作原理的了解填充每个 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 实现。

      【讨论】:

        猜你喜欢
        • 2013-07-08
        • 2023-03-10
        • 2013-11-11
        • 1970-01-01
        • 1970-01-01
        • 2015-07-03
        • 2019-01-01
        • 2023-03-16
        • 2010-10-31
        相关资源
        最近更新 更多