2

在我的视图中,我呈现菜单@Html.Action("RenderMenu", "Admin")@Html.Action("RenderMenu", "Manager") Where 操作:

    [Authorize(Roles = "Admin")]
    public ActionResult RenderMenu()
    {
        return View();
    }

如果用户不在角色管理员中

@Html.Action("RenderMenu", "Admin")直接无视(好了。

我该怎么做?现在,我有无限的登录窗口。

4

4 回答 4

0

我有一个答案。你可以试试......

@{
    if(User.IsInRole("Admin"))
       {
          @Html.Action("RenderMenu", "Admin")
          @Html.Action("RenderMenu", "Manager")
       }
   else
      {
@Html.Action("RenderMenu", "Manager")

     }
}
于 2013-06-26T06:50:44.987 回答
0

你可以使用这个:

@if (Page.User.IsInRole("Admin")) {   
    @Html.Action("RenderMenu", "Admin")
}
于 2013-06-26T06:41:25.233 回答
0

在剃刀视图中设置 if 以检查用户是否处于所需角色。您可以使用 (User.IsInRole("Adm inistrators"))

这里有类似的讨论asp.net MVC3 razor: display actionlink based on user role

于 2013-06-26T06:34:37.180 回答
0

看我的回答 Asp.net MVC3: is really based on roles @Html.Action()

你可以使用:

@Html.ActionBaseRole("RenderMenu", "Admin")
于 2013-12-13T14:23:09.103 回答