从我的主页面调用HomeController中的方法

时间:2012-04-11 18:35:31

标签: c# asp.net asp.net-mvc-3 master-pages

我试图在没有管理员的用户的网页上隐藏一些特定于管理员的按钮。

到目前为止,我的代码看起来像这样:

<% if (Request.IsAuthenticated)
    {%>
        <%: Html.ActionLink("Administrer", "Index", "User", new { Area = "Users" }, new { @class = "menubutton", @id = "settingsbutton" })%>
      <%} else { }%>

现在我想在IF()语句中检查当前用户是否为管理员。即时通讯使用ASP.NET会员系统,并为每个用户附加一个speciel类,其中包含一些exstra信息,包括他是否是管理员的信息(bool)。

我的问题是如何调用检查此类或类似方法的方法?

1 个答案:

答案 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)方法。