使用ASP.NET,JQuery和Suckerfish构建数据库驱动的菜单

前端之家收集整理的这篇文章主要介绍了使用ASP.NET,JQuery和Suckerfish构建数据库驱动的菜单前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用Suckerfish css菜单和Jquery从表创建菜单.我正在使用它作为我的参考: Suckerfish menu with ASP.NET and JQuery并且我使用手动提供的链接(非常类似于文章).

我遇到问题的地方是编写递归函数以从数据库获取菜单项并在适当的层次结构中创建新的菜单项.我的数据库表如下所示:

表格菜单

菜单Id
PARENTID
链接
文本

这个想法是,如果一个项目是父级项目,则MenuID和ParentID是相同的,如果它是一个子项,它将在ParentID字段中具有它的父项的MenuID.我需要创建一个功能,可以通过并找到父母的所有子项(可能是几个级别),并让它替换这样的手动条目:

Dim Foo As New MenuItem("#","Foo",Me)
        Items.Add(Foo)
        Foo.Items.Add(New MenuItem("#","1",Me))
        Foo.Items.Add(New MenuItem("#","2","3","4",Me))

我愿意在必要时更改数据库表结构,并基本上做其他事情来实现这一目标.

感谢您的任何意见,我们非常感谢.

解决方法

表示分层数据的方法对于人类来说很容易理解,但很难从中提取数据,因为它需要递归来提取完整​​的层次结构.一些sql的命令会为你做这个,但这就是幕后的情况.

我建议你阅读More Trees & Hierarchies in SQL,并使用它解释的物化路径方法重构你的模式.它很容易查询和扩展真的很好.

猜你在找的asp.Net相关文章