获取所有角色,但选择一些帮助

时间:2010-08-13 04:27:51

标签: asp.net collections roles

我遇到了一个问题,我需要从似乎只能获得所有功能的集合中删除某些项目。

我的想法是获取完整的集合,然后删除不需要的项目。然后拿出那个新的集合并将它绑定到我需要的任何东西。

例如,我如何获得除管理员以外的所有角色?

Roles strRoles = Roles.GetAllRoles()
RoleList.DataSource = (Roles) roles; //Roles.GetAllRoles();
RoleList.DataBind();

或如何获得所有用户,但请说user123

MembershipUserCollection users = Membership.GetAllUsers();
UserList.DataSource = users;
UserList.DataBind();

提前致谢, 斯科特

1 个答案:

答案 0 :(得分:2)

您可以使用Where LINQ扩展方法来完成此任务。 LINQ扩展方法对实现IEnumerable<>的集合进行操作。接口。对于您的第一个示例,您可以执行以下操作:

RoleList.DataSource = Roles.GetAllRoles().Where(r => !r.Equals("Administrator"))

对于你的第二个:

IEnumerable<MembershipUser> users = Membership.GetAllUsers().Cast<MembershipUser>()
UserList.DataSource = users.Where(m => !m.UserName.Equals("123"));

首先调用Cast方法会将集合转换为IEnumerable Membershipusers