开发者

Get all Roles, But a select few Help

I have run into a problem where I need to remove certain items from collections that seem to only have get all functions.

My Idea is to get the full collection and t开发者_StackOverflowhen remove the unneeded items. Then take that new collection and bind it to whatever I need.

For example How do I get all the roles except administrator?

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

or How do I get all users but say user123

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

Thanks in advance, -Scott


You can use the Where LINQ extension method to accomplish this. LINQ extension methods operate on collections that implement the IEnumerable<> interface. For your first example you could do the following:

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

For your second:

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

Calling the Cast method first will convert the collection to an IEnumerable of Membershipusers.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜