1

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

        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) 的输出参数中获得。

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

4

1 回答 1

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);
于 2012-07-09T13:05:12.163 回答