我正在尝试获取应用程序中所有角色的列表。我看过以下帖子 Getting All Users...和其他来源。这是我的代码,我认为这是我应该做的。
var roleStore = new RoleStore<IdentityRole>(context)
var roleMngr = new RoleManager<IdentityRole>(roleStore);
List<string> roles = roleMngr.Roles.ToList();
但是,我收到以下错误:无法将类型 GenericList(IdentityRole)
隐式转换为 List(string)
。有什么建议么?我正在尝试获取列表,以便我可以在注册页面上填充下拉列表以将用户分配给特定角色。使用 ASPNet 4.5 和身份框架 2(我认为)。
PS 我也尝试过 Roles.GetAllRoles 方法但没有成功。
最佳答案
查看您的引用链接并 self 质疑,很明显角色管理器 (roleMngr) 是 IdentityRole 的类型,因此如果您尝试获取角色列表,角色必须是同一类型。
使用 var
代替 List<string>
或使用 List<IdentityRole>
.
var roleStore = new RoleStore<IdentityRole>(context);
var roleMngr = new RoleManager<IdentityRole>(roleStore);
var roles = roleMngr.Roles.ToList();
希望这对您有所帮助。
关于c# - 试图获得身份中的所有角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27090227/