2009-07-31 7 views
2

Ich habe mit Troy Goode's PagedList http://pagedlist.codeplex.com/ gespielt. Ich habe mich gefragt, ob jemand es mit dem eingebauten asp.net Membership Stück arbeiten lassen hat?Arbeiten mit PagedList und Mitgliedschaft

Ich habe über 8000 Benutzer, also muss ich in der Lage sein, durch die Benutzerliste zu blättern.

mit einer solchen Linie in meinem Memberhsip-Controller funktioniert nicht. Es wird nicht kompiliert. eine Instanz des Typs MembershipUserCollection

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

in diesem Bereich keine Führung Schätzen ...

TIA

-MARK- [email protected]

+1

Umm ... Gestatten Sie mir, das Offensichtliche zu sagen: Code hilfreich sein könnten (zB was genau kommt GetAllUsers() zurück?). Und so könnte die Fehlermeldung sein. –

Antwort

3

Membership.GetAllUsers() gibt. Dieser Typ implementiert IEnumerable oder IQueryable nicht. ToPagedList ist eine Sammlung von Erweiterungsmethoden, die für IEnumerable und IQueryable überladen sind. Um sie zu verwenden, müssen Sie daher die Mitgliedschafts-Benutzersammlung in einen dieser Typen umwandeln. In der IDE gebe ich zu, dass es eine AsEnumerable-Methode gibt. Möglicherweise müssen Sie jedoch System.Linq hinzufügen, um es zu verwenden. So versuchen:

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

jedoch, GetAllUsers() is already overloaded to do paging, so können Sie diese stattdessen tun sollten:

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

Super! Danke, Craig. Genau das, was ich brauchte. –

+0

Nur Ihnen ist ein Beispiel bekannt, das zeigt, wie ich den von Ihnen bereitgestellten Code verwenden kann, um meine 8000 Benutzer zu durchsuchen. Ich habe das mit einer 'normalen' Datenbanktabelle zur Arbeit gebracht (Pagenation), aber ich habe Schwierigkeiten damit, es mit dem Mitgliedschaftssystem zu arbeiten. TIA-MARK- –

+0

Es gibt ein Beispiel auf der MSDN-Seite, die ich verlinkt habe. –