如果用户的角色是“管理员”,我想在我的主页上显示Admin ActionLink。我已设法正确配置角色,但我不确定如何做到这一点。
到目前为止,我已将以下代码实现到我的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>
我知道这不正确,但这不是我以前做过的事情所以我不太确定如何正确实施它。
感谢您的帮助。
答案 0 :(得分: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 %>
答案 1 :(得分:0)
我不熟悉VB.NET
但您可以通过编写自定义帮助函数来完成此操作:
public static MvcHtmlString If(this MvcHtmlString value, bool evaluation)
{
return evaluation ? value : MvcHtmlString.Empty;
}
所以你可以使用它:
@Html.ActionLink("Admin", "Admin").If(User.IsInRole("Administrator"))