2012-01-27 35 views
0

当我所有的注册用户在Asp.Net MVC分页I使用:在Asp.Net MVC中与过滤用户分页?

“Membership.GetAllUsers(页?? 0,pageSize的,出totalUsers)”
方法,它工作正常。但我也想按角色过滤用户。所以我使用下面的代码来按角色过滤用户。它工作正常。

   MembershipUserCollection allUsers = Membership.GetAllUsers(); 
       MembershipUserCollection filteredUsers = new MembershipUserCollection(); 
       string[] usersInRole = Roles.GetUsersInRole(roleName); 
       foreach (MembershipUser user in allUsers) 
       { 
        foreach (string userInRole in usersInRole) 
        { 
         if (userInRole == user.UserName) 
         { 
          filteredUsers.Add(user); 
         } 
        } 
       } 

而我的问题是,如何可能与filteredUsers分页?任何人都可以帮助我吗?

回答

2

您可以使用.Skip.Take方法:

page = page ?? 0; 
var filteredAndPaginatedUsers = filteredUsers 
    .Cast<MembershipUser>() 
    .Skip((page - 1) * pageSize) 
    .Take(pageSize) 
    .ToArray(); 

因为我们是做分页和在客户端过滤,但我恐怕会籍API不允许可能并不十分有效你同时做分页和过滤。