在 ASP.Net 中动态构建菜单

Posted

技术标签:

【中文标题】在 ASP.Net 中动态构建菜单【英文标题】:Building menus dynamically in ASP.Net 【发布时间】:2011-07-15 16:21:44 【问题描述】:

我创建了一个具有一些角色的站点。每个用户都可以有一些角色。每个角色都有权访问某些页面。 我想根据用户角色动态构建菜单,以便每个用户都可以在他的菜单中看到他的可用页面。 我想知道这样做的最佳方法是什么?使用 XML 来描述此菜单层次结构并指定每个角色可用的菜单还是有更好的方法来做到这一点?

【问题讨论】:

以前回答的问题。 [***.com/questions/3623818/…[1]:***.com/questions/3623818/… 【参考方案1】:

我强烈建议您使用Telerik's Extensions for ASP.NET MVC,而不是重新发明***。

它包括一个强大的菜单扩展,并具有良好的可编程性。我使用 .Visible() 方法和 IPrincipal.IsInRole() 来确定哪些菜单可用以及何时可用。

更好的是它是免费和开源的!有一个带支持的付费版本,但社区和论坛支持似乎已经足够好了。

【讨论】:

【参考方案2】:

我们有一个 mysql 数据库,其中包含角色和对象,并在运行时根据登录用户决定谁可以看到什么。页面上的各个部分或控件也会做出决定。也可以对页面本身进行测试,以确保它不仅仅是隐藏页面的菜单。

【讨论】:

【参考方案3】:

我之前将 MVC 站点地图项目与“安全修剪”链接帮助程序 ("Security aware" action link?) 结合使用来处理此类事情。很简单。

【讨论】:

以上是关于在 ASP.Net 中动态构建菜单的主要内容,如果未能解决你的问题,请参考以下文章

asp.net mvc3 动态菜单怎么实现

急 asp.net TreeView 动态数据绑定

asp.net + Bootstrap 动态表

asp.net框架页菜单控件无法正常显示

在 asp.net C# 中动态创建/复制的 Div

在 ASP.net 中,基于角色访问页面/功能/菜单的最具可扩展性的方式是啥?