开发者

Get all Roles, But a select few Help

开发者 https://www.devze.com 2023-01-11 22:18 出处:网络
I have run into a problem where I need to remove certain items from collections that seem to only have get all functions.

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

精彩评论

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