在我的查看 i渲染菜单@Html.Action("RenderMenu", "Admin")
和@Html.Action("RenderMenu", "Manager")
中
行动地点:
[Authorize(Roles = "Admin")] public ActionResult RenderMenu() { return View(); }
如果用户不在管理员
中
@Html.Action("RenderMenu", "Admin")
只是忽略。
我该怎么办? 现在,我有无限的登录窗口。
答案 0 :(得分:0)
在剃刀视图中创建if以检查用户是否处于需要的角色。您可以使用(User.IsInRole(“Adm inistrators”))
这里有类似的讨论asp.net MVC3 razor: display actionlink based on user role
答案 1 :(得分:0)
您可以使用:
@if (Page.User.IsInRole("Admin")) {
@Html.Action("RenderMenu", "Admin")
}
答案 2 :(得分:0)
我有一个答案。你可以试试......
@{
if(User.IsInRole("Admin"))
{
@Html.Action("RenderMenu", "Admin")
@Html.Action("RenderMenu", "Manager")
}
else
{
@Html.Action("RenderMenu", "Manager")
}
}
答案 3 :(得分:0)
看我的回答 Asp.net MVC3: is really based on roles @Html.Action()
你可以使用:
@Html.ActionBaseRole("RenderMenu", "Admin")