2013-06-26 4 views
2

В моей View я сделать меню @Html.Action("RenderMenu", "Admin") и @Html.Action("RenderMenu", "Manager") Где Действие:Игнорировать @ Html.Action(), если пользователь не в роли

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

Если пользователь не в роли администратора

@Html.Action("RenderMenu", "Admin") просто игнорируйте.

как я могу это сделать? Теперь у меня бесконечное окно входа в систему.

ответ

0

Сделайте, если в режиме бритвы проверить, требуется ли пользователю роль. Вы можете использовать (User.IsInRole ("ADM inistrators"))

Было похоже обсуждение здесь asp.net MVC3 razor: display actionlink based on user role

0

Вы можете использовать это:

@if (Page.User.IsInRole("Admin")) { 
    @Html.Action("RenderMenu", "Admin") 
} 
0

У меня есть ответ. Вы можете попробовать ......

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

    } 
}