2009-07-31 4 views
2

저는 Troy Goode의 PagedList http://pagedlist.codeplex.com/을 가지고 놀았습니다. 누군가 asp.net 멤버십에 내장 된 작업을 얻었습니까?PagedList 및 멤버십 작업

사용자가 8000 명을 넘었으므로 사용자 목록을 통해 페이지 할 수 있어야합니다.

내 memberhsip 컨트롤러에서 다음과 같은 라인을 사용하면 작동하지 않습니다. 그것은 컴파일되지 않을 것이다.

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

이 지역의 모든 지침을 감사합니다

...

TIA

-MARK- [email protected]

+1

음을 ... 나에게 명백한을 진술 할 수 있도록하십시오 : 코드가 도움이 될 수 있습니다 (예를 들어, 정확히 GetAllUsers()가 반환합니까?). 오류 메시지가 표시 될 수도 있습니다. –

답변

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

굉장! 고마워, 크레이그. 내가 필요한 것. –

+0

그냥 811 명의 사용자를 통해 페이지를보기 위해 제공 한 코드를 어떻게 사용할 수 있는지 보여주는 샘플을 알고 계십니까? 나는 이것을 '정상적인'데이터베이스 테이블로 작업 (pagenation)하게 만들었지 만, 회원 시스템을 사용하기가 어려워지고 있습니다. TIA -MARK- –

+0

링크 된 MSDN 페이지에 예제가 있습니다. –