所以我试图在我的MVC项目中使用Entity Framework,我想知道如何向具有特定角色的用户显示/隐藏页面的一部分?现在我只知道我可以隐藏[authorize]
后面的控制器/动作,但我想知道我怎么只能隐藏页面的一部分?
例如:只有管理员才能在其他用户发布的帖子上看到“删除”按钮。或者另一个例子:用户可以对帖子进行投票,但如果他们自己发布帖子则不能。
答案 0 :(得分:1)
您可以根据角色使用这样的代码:
@if(User.IsInRole("Administrator"))
{
<div>
Hidden content for users
</div>
}
此外,您可以将此辅助函数与HTML帮助程序一起使用,该帮助程序根据条件显示元素:
public static MvcHtmlString Show(this MvcHtmlString value, bool condition)
{
return condition? value : MvcHtmlString.Empty;
}
所以你可以隐藏删除链接,如:
@Html.ActionLink("Delete", "Home").Show(User.IsInRole("Administrator"))