我是Asp.net身份的新手。如何在Razor View中获取角色名称? 我的控制器
public virtual async Task<ActionResult> Users()
{
var users = UserManager.Users.ToList();
ViewBag.Roles = RoleManager;
return View(users);
}
private ApplicationUserManager UserManager
{
get
{
return HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
}
}
我试过了属性角色。但是没有名字 图
@foreach (var item in Model)
{
<tr>
<td>
@item.UserName
</td>
<td>
@item.Roles
</td>
</tr>
}
请帮忙。
答案 0 :(得分:0)
由于您已经RoleManager
向视图发送了ViewBag
。您可以使用角色管理器在视图中获取角色的名称,如下所示:
@string.Join(" | ", item.Roles.Select(r=>ViewBag.Roles.FindById(r.RoleId).Name))
但始终考虑为视图创建视图模型并填充数据以查看控制器中的模型,而不是直接在视图中处理它们。