asp.net-mvc-4 – 基于角色的导航
发布时间:2020-12-16 00:08:19 所属栏目:asp.Net 来源:网络整理
导读:我一直在尝试为我正在开发的项目创建一个基于动态角色的导航解决方案. 导航应仅显示与用户角色相关的链接,例如:管理员将具有查看应用程序统计信息,管理客户帐户等的链接,而标准用户将拥有管理其帐户的链接,与朋友交流等等.. 我目前有一个名为Navigation的局
我一直在尝试为我正在开发的项目创建一个基于动态角色的导航解决方案.
导航应仅显示与用户角色相关的链接,例如:管理员将具有查看应用程序统计信息,管理客户帐户等的链接,而标准用户将拥有管理其帐户的链接,与朋友交流等等.. 我目前有一个名为Navigation的局部视图,其中包含一些用于角色检查的基本条件语句以及用于显示相应链接的混合标记.这有效,但是,我知道它很快就会变得无法管理. 导航局部视图: @if(User.IsInRole("Admin")) { <li><a href="#">Statistics</a></li> <li><a href="#">Accounts</a></li> <li><a href="#">Dashboard</a></li> } @if(User.IsInRole("User")) { <li><a href="#">Account</a></li> <li><a href="#">Friends</a></li> } // code omitted 有没有办法让这个逻辑退出视图并让Controller处理这个? 解决方法
解
正如所建议的那样,我创建了一个名为Menu的ChildAction和每个角色的部分视图.在操作中,我使用一些条件语句进行角色检查并渲染适当的视图. 这使条件语句保持在视图之外,从而使其成为更清晰的解决方案. 我确信可以做一些事情来整理它,我会继续努力改进它. 这是我使用的解决方案. 在我希望菜单出现的布局视图中,我使用了它. @Html.Action("Menu","Navigation") 然后我创建了一个名为Navigation的控制器,并添加了一个名为Menu的Action. public class NavigationController : Controller { [ChildActionOnly] public ActionResult Menu() { if (Roles.IsUserInRole("Administrator")) { return PartialView("_NavigationAdmin"); } return PartialView("_NavigationPublic"); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – SimpleMembership向经过身份验证的用户提供登录
- asp.net-mvc-3 – MVC 3传递实体作为接口
- asp.net-mvc – ASP.NET MVC动态生成的图像URL
- asp.net-mvc – ASP.NET MVC使用相同的控制器分离移动视图
- 将webforms混合到ASP.NET MVC应用程序中的问题
- asp.net-mvc – 基于MVC角色的路由
- asp.net中mvc使用ajax提交参数的匹配问题解决探讨
- asp.net-mvc-2 – 如何在局部视图中获取与父操作关联的Rout
- asp.net-mvc – 如何从验证摘要中删除列表
- asp.net-mvc – ASP MVC友好的URL和相对路径图像
推荐文章
站长推荐
- asp.net-mvc – 具有WebApi和Controller路由的Ur
- asp.net-mvc – MVC3 Url.Action查询字符串生成
- asp.net-mvc – ASP.NET MVC报告
- asp.net-mvc-3 – 在ASP.NET MVC 3视图中渲染Sys
- asp.net-mvc – 是否有任何基于ASP.NET MVC订阅的
- asp.net mvc – asp.net mvc Html.ActionLink()保
- ASP.NET 5:捕获和记录所有未处理的异常的建议方
- 在ASP.NET MVC中DRY原理实际上是什么样的?
- asp.net-mvc – 从n层ASP.Net MVC应用程序的服务
- asp.net-mvc-3 – 如何用另一个替换局部视图?
热点阅读