2009-07-31 31 views
2

我一直在玩特洛伊古德的PagedList http://pagedlist.codeplex.com/。我想知道是否有人得到它与内置的asp.net会员作品?使用PagedList和Membership

我有超过8000个用户,所以我需要能够通过用户列表页面。

在我的memberhsip控制器中使用类似这样的行不起作用。它不会编译。

Membership.GetAllUsers().ToPagedList(currentPageIndex, defaultPageSize); 

感谢您在这方面的任何指导......

TIA

-MARK- [email protected]

+1

唔......请允许我不言自明的:代码可能会有所帮助(例如,究竟是什么GetAllUsers()返回?)。错误信息也可能如此。 – 2009-07-31 18:58:46

回答

3

Membership.GetAllUsers()返回一个类型MembershipUserCollection的一个实例。该类型不实现IEnumerable或IQueryable。 ToPagedList是为IEnumerable和IQueryable重载的扩展方法的集合。因此,为了使用它,您需要将成员资格用户集合转换为其中一种类型。在IDE中,我承认有一个AsEnumerable方法。不过,您可能需要添加使用System.Linq才能使用它。因此,尝试:

Membership.GetAllUsers().AsQueryable().ToPagedList(currentPageIndex, defaultPageSize); 

然而GetAllUsers() is already overloaded to do paging,所以你应该这样做,而不是:

Membership.GetAllUsers(currentPageIndex, defaultPageSize, out totalRecords); 
+0

太棒了!谢谢克雷格。正是我需要的。 – 2009-08-03 16:40:31