0

如果用户的角色是“管理员”,我想在我的主页上显示一个管理员操作链接。我已经设法正确配置了角色,但我不确定如何去做。

到目前为止,我已经在 HomeController 中实现了以下代码:

        Function Admin() As ActionResult
        If Roles.IsUserInRole("Admin") Then
            Return View("Admin")
        Else
            Return View()
        End If
        End Function 

然后我在我的 Site.Master 中实现了以下 ActionLink:

<li><%: Html.ActionLink("Admin", "Admin", New With {.Controller = "Home"})%></li>

我知道这不正确,但这不是我以前做过的事情,所以我不太确定如何正确实施它。

谢谢你的帮助。

4

2 回答 2

1

您在视图中使用 编写此代码razor,如下所示:

剃刀

@If User.IsInRole("Admin") Then
   <li>@Html.ActionLink("Admin", "Admin", New With {.Controller = "Home"})</li>
End if

ASPX

<% If User.IsInRole("Admin") Then %>
   <li><%: Html.ActionLink("Admin", "Admin", New With {.Controller = "Home"})%></li> 
<% End if %>
于 2013-03-12T16:49:57.063 回答
0

我不熟悉VB.NET但是您可以通过编写如下自定义 Helper 函数来做到这一点:

 public static MvcHtmlString If(this MvcHtmlString value, bool evaluation)
    {
         return evaluation ? value : MvcHtmlString.Empty;
    }

所以你可以使用这个:

 @Html.ActionLink("Admin", "Admin").If(User.IsInRole("Administrator"))
于 2013-03-12T16:50:56.683 回答