如何在Razor View中获取角色名称?

时间:2015-12-24 12:16:29

标签: asp.net-identity

我是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>
}

请帮忙。

1 个答案:

答案 0 :(得分:0)

由于您已经RoleManager向视图发送了ViewBag。您可以使用角色管理器在视图中获取角色的名称,如下所示:

@string.Join(" | ", item.Roles.Select(r=>ViewBag.Roles.FindById(r.RoleId).Name))

但始终考虑为视图创建视图模型并填充数据以查看控制器中的模型,而不是直接在视图中处理它们。