2012-03-03 23 views
1

私はasp.net MVC 3アプリケーションで作業しています。私はユーザーのリストを表示したい。私はこのようなリポジトリに関数を作成しました:IEnumerableへのMembershipUserCollection <MembershipUser>のページング

internal MembershipUserCollection GetUsers() { 
      return Membership.GetAllUsers(); 
     } 

私はページングもしたいのでIEnumerableオブジェクトが必要です。どのように私は、ページングMembershipUserCollectionを使用して、またはIEnumerableを

にMembershipUserCollectionを変換することができます示唆してください

+0

'MembershipUserCollection'が' IEnumerable'を実装しているとすれば、Membership.GetAllUsers()。キャスト() ' - これはおそらく非常に効率的なページングをサポートしません。 –

答えて

5

Membership.GetAllUsers()は、それは名前はあなたのページングが非常に効率的でないことを何を意味することを提案ありません。

internal IEnumerable<MembershipUser> GetUsers(
    int pageIndex, 
    int pageSize, 
    out int totalRecords 
) 
{ 
    return Membership 
     .GetAllUsers(pageIndex, pageSize, out totalRecords) 
     .Cast<MembershipUser>(); 
} 

方法は、レコードの合計数を返します:あなたは理想的なデータベースレベルで、効率的なページングを実装する場合、あなたは、現在のページインデックスと目的のページサイズを渡すことができますfollowing overloadを使用する必要があります後でUIレベルでページングを正しく実装できるようになります。

関連する問題