How could users in a "customer" role be retrieved from a MembershipUserCollection?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Roles.GetUsersInRole
returns a string[]
of user names in a role. If you really want the MembershipUser
objects, you can use:
var list = Roles.GetUsersInRole("roleName").Select(Membership.GetUser).ToList()
Of course, this is performance intensive as it hits the database once for every user.
If you are willing to give up provider-independence, you can query the underlying database directly and perform a join on the database server to get all users in a specific role.
回答2:
Go through this http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.findusersinrole.aspx
回答3:
For binding to a ListBox
you can use:
ListBox1.DataSource = System.Web.Security.Roles.GetUsersInRole("Role_Name"); ListBox1.DataBind();
回答4:
Use the RoleProvider class http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.aspx
it has a FindUsersInRole method