我在asp.net MVC 3应用程序中工作。我想显示一个用户列表。我在存储库中创建了一个函数,如下所示:
internal MembershipUserCollection GetUsers() {
return Membership.GetAllUsers();
}
我需要IEnumerable对象,因为我也想做分页。如何使用MembershipUserCollection进行分页或将MembershipUserCollection转换为IEnumerable
请建议
答案 0 :(得分:5)
Membership.GetAllUsers()
的名称暗示您的分页效率不高。如果要实现高效的分页,理想情况是在数据库级别,您应该使用following overload,它允许您传递当前页面索引和所需的页面大小:
internal IEnumerable<MembershipUser> GetUsers(
int pageIndex,
int pageSize,
out int totalRecords
)
{
return Membership
.GetAllUsers(pageIndex, pageSize, out totalRecords)
.Cast<MembershipUser>();
}
该方法返回记录总数,以便您以后可以在UI级别正确实现分页。