2009-07-31 93 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