2010-08-13 40 views
1

我遇到了一个问题,我需要从集合中删除某些项目,似乎只有获得所有功能。获取所有角色,但一个选择几个帮助

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

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

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

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

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

感谢, 斯科特

+0

你能解释一点关于第二个senario – anishMarokey 2010-08-13 04:32:39

+0

如何获得一个会员数据库中的所有用户的集合,除了名为“user123”的用户 – Scott 2010-08-13 05:34:55

回答

2

可以使用LINQ Where扩展方法来做到这一点。 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")); 

首先调用铸造法将集合转换成的MembershipusersIEnumerable

+0

谢谢你,这工作完美。 – Scott 2010-08-13 04:51:01

相关问题