如何用ASP身份隐藏部分页面?

时间:2015-11-06 16:12:06

标签: asp.net asp.net-mvc

所以我试图在我的MVC项目中使用Entity Framework,我想知道如何向具有特定角色的用户显示/隐藏页面的一部分?现在我只知道我可以隐藏[authorize]后面的控制器/动作,但我想知道我怎么只能隐藏页面的一部分?

例如:只有管理员才能在其他用户发布的帖子上看到“删除”按钮。或者另一个例子:用户可以对帖子进行投票,但如果他们自己发布帖子则不能。

1 个答案:

答案 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"))