【发布时间】:2011-01-24 06:30:23
【问题描述】:
如何从 MembershipUserCollection 中检索“客户”角色中的用户?
【问题讨论】:
标签: asp.net c#-3.0 asp.net-membership
如何从 MembershipUserCollection 中检索“客户”角色中的用户?
【问题讨论】:
标签: asp.net c#-3.0 asp.net-membership
Roles.GetUsersInRole 返回角色中用户名的string[]。如果你真的想要 MembershipUser 对象,你可以使用:
var list = Roles.GetUsersInRole("roleName").Select(Membership.GetUser).ToList()
当然,这是性能密集型的,因为它会为每个用户访问一次数据库。
如果你愿意放弃提供者独立,你可以直接查询底层数据库,在数据库服务器上进行join,得到特定角色的所有用户。
【讨论】:
要绑定到ListBox,您可以使用:
ListBox1.DataSource = System.Web.Security.Roles.GetUsersInRole("Role_Name");
ListBox1.DataBind();
【讨论】:
使用 RoleProvider 类http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.aspx
它有一个 FindUsersInRole 方法
【讨论】: