asp.net MVC 数据库驱动的导航菜单

Posted

技术标签:

【中文标题】asp.net MVC 数据库驱动的导航菜单【英文标题】:asp.net MVC database driven navigation menu 【发布时间】:2011-01-22 23:43:20 【问题描述】:

谁能指出我将如何实现由数据库驱动的分层导航菜单的正确方向?我不想在这里重新发明***,所以我想知道是否已经完成了一些事情。我知道 asp.net 中的 Menu 控件,但据我所知,它不适用于 MVC。作为框架的一部分,是否已经提供了一些我可以为此目的利用的东西?如果没有,那么也许有一些链接可以为我指明正确的方向?

谢谢。

【问题讨论】:

【参考方案1】:

LBushkin 的想法很好。有关从数据库中发出 <ul><li> 标记的方法,请查看以下博客文章:

ASP.NET MVC 递归 TreeView 帮助器http://www.matthidinger.com/archive/2009/02/08/asp.net-mvc-recursive-treeview-helper.aspx

使用 ASP.NET MVC 框架呈现 TreeView http://mikehadlow.blogspot.com/2008/10/rendering-tree-view-using-mvc-framework.html

我个人使用了 Matt Hidinger 的递归 TreeView Helper 的修改版本,并从我的数据库中提供了几个 IQueryables。

【讨论】:

是否有任何代码用于从数据库中读取数据并使用 LINQ to SQL 或 LINQ to ADO.Net 实体填充树? @Tanmoy:看这里...***.com/questions/202912/…【参考方案2】:

您可能想要look at superfish - 它是一个与 jQuery 兼容的菜单控件,它灵活并使用语义标记。您可以通过发出一组适当的<ul><li> 标签来创建菜单。它们甚至可以通过将列表嵌套在其他列表中来嵌套以创建分层菜单。

它不直接与数据库表示形式交互 - 但很容易将这样的结构作为<ul> 标签发送到标记中并将 superfish 应用于它。

【讨论】:

以上是关于asp.net MVC 数据库驱动的导航菜单的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC 导航和用户界面设计

ASP.NET MVC SiteMap 提供程序——如何在实际菜单中“隐藏”单个项目

asp.net mvc 3 剃须刀。导航以查看表格 tr 点击

似乎无法将 Linq 与 ASP.Net 导航菜单一起使用

如何使用代码优先实体框架在 ASP.Net MVC3 中重新加载多对多导航属性

在 ASP.Net Core Web 应用程序(引导程序)中向导航栏添加下拉菜单