2010-08-13 3 views
1

J'ai rencontré un problème où j'ai besoin de retirer certains éléments des collections qui semblent avoir seulement toutes les fonctions.Obtenir tous les rôles, mais un peu d'aide

Mon idée est d'obtenir la collection complète, puis supprimer les éléments inutiles. Ensuite, prenez cette nouvelle collection et attachez-la à ce dont j'ai besoin.

Par exemple Comment obtenir tous les rôles sauf administrateur?

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

ou Comment puis-je obtenir tous les utilisateurs, mais dire user123

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

Merci à l'avance, -SCOTT

+0

pouvez-vous expliquer un peu plus sur le deuxième senario – anishMarokey

+0

Comment obtenez-vous une collection de tous les utilisateurs dans une base de données d'adhésion à l'exception d'un utilisateur appelé "user123" – Scott

Répondre

2

Vous pouvez utiliser la méthode d'extension Where LINQ pour y parvenir. Les méthodes d'extension LINQ fonctionnent sur les collections qui implémentent l'interface IEnumerable <>. Pour votre premier exemple, vous pouvez effectuer les opérations suivantes:

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

Pour votre seconde:

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

appel de la méthode Cast premier convertira la collection à un IEnumerable de Membershipusers.

+0

Merci, Cela a fonctionné parfaitement. – Scott

Questions connexes