我试图在没有管理员的用户的网页上隐藏一些特定于管理员的按钮。
到目前为止,我的代码看起来像这样:
<% if (Request.IsAuthenticated)
{%>
<%: Html.ActionLink("Administrer", "Index", "User", new { Area = "Users" }, new { @class = "menubutton", @id = "settingsbutton" })%>
<%} else { }%>
现在我想在IF()语句中检查当前用户是否为管理员。即时通讯使用ASP.NET会员系统,并为每个用户附加一个speciel类,其中包含一些exstra信息,包括他是否是管理员的信息(bool)。
我的问题是如何调用检查此类或类似方法的方法?
答案 0 :(得分:3)
<% if (Request.IsAuthenticated && User.IsInRole("Administrator"))
{%>
<%: Html.ActionLink("Administrer", "Index", "User", new { Area = "Users" }, new { @class = "menubutton", @id = "settingsbutton" })%>
<%} else { }%>
如果您使用ASP.NET成员资格提供程序和ASP.NET角色提供程序将用户链接到他们的角色,则可以在视图的IsInRole(string
对象上调用IPrincipal User
)方法。