我想知道是否可以在视图中授权部分视图。
例如,我了解如何在此方法中授权整个控制器
<HandleError()> _
Public Class HomeController
Inherits System.Web.Mvc.Controller
Function Index()
Return View()
End Function
<Authorize(Roles:="Administrators")> _
Function AdministratorSecrets()
Return View()
End Function
End Class
但我想做的就是拥有它,如果管理员登录,他们可以在我的导航中看到其他链接。
的内容
<ul id="menu">
<li><%= Html.ActionLink("Home", "Index", "Home")%></li>
<li><%= Html.ActionLink("About", "About", "Home")%></li>
<Authorize(Roles:="Administrators")> _
<li><%= Html.ActionLink("Admin", "Admin", "Home")%></li>
</ul>
显然这不起作用,但它会让我知道我想要完成的任务。
有什么想法吗?
答案 0 :(得分:4)
使用类似的东西:
<% if(Roles.IsUserInRole("Administrator")){ %>
<span>HTML Code</span>
<% } %>
答案 1 :(得分:0)
将if内容发送到新的html帮助扩展方法是最佳做法。