【问题标题】:mvc pagedlist asp.net membershipmvc pagedlist asp.net 会员资格
【发布时间】:2012-07-09 09:42:54
【问题描述】:

我正在使用具有 ASP.NET 成员资格的 PagedList.mvc 助手在表格中显示应用程序用户详细信息。寻呼机使用 Membership.GetAllUsers() 方法可以正常工作,但我希望能够利用返回单页数据而不是整个表的重载,正如this article 中所建议的那样:

        int pageSize = int.Parse(ConfigurationManager.AppSettings["gridPageSize"]);
        int totalRecords;
        IEnumerable<MembershipUser> users = Membership.GetAllUsers((page ?? 0), pageSize, out totalRecords).Cast<MembershipUser>();
        return View(users.ToPagedList((page ?? 1), pageSize));

上面的代码使用了有问题的重载,不幸的是只显示了第一页的数据,并且没有提供到第二页或后续页面的链接。这似乎是因为 PagedList 助手根据传递给它的集合的大小来配置自己,而不是表的实际大小(可从 GetAllUsers(int, out int) 的输出参数中获得。

有谁知道绕过这个明显限制的方法吗?

【问题讨论】:

    标签: asp.net-mvc asp.net-membership pagedlist


    【解决方案1】:

    根据 PagedList README 的示例 2,使用 StaticPagedList:

    https://github.com/troygoode/pagedlist#example-2-manual-paging

    var users = Membership.GetAllUsers(pageIndex, pageSize, out totalUserCount);
    var usersAsIPagedList = new StaticPagedList<MembershipUser>(users, pageIndex + 1, pageSize, totalUserCount);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-13
      • 1970-01-01
      • 2013-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多