C# N级导航菜单

C# N级导航菜单,c#,asp.net,.net,sql-server-2008,C#,Asp.net,.net,Sql Server 2008,嗨,我一直在做一个网上购物的礼物项目 我的导航菜单有3个级别,如下所示: 父菜单==>子菜单==>子子菜单 我必须在一个层次结构中从数据库表中获取所有这些值,我正在考虑以这样一种方式设计数据库表,即从表中获取菜单数据的请求时间是最小的 我的想法是用以下参数设计一个表名navigation\u菜单: id(as menu id) Menu_Name Parent_id 在这里,我还可以使用存储过程来检查父级和子级关系,但我不知道如何使用输出来构建导航菜单。 或者,我可以用更好的方式设计数据库,

嗨,我一直在做一个网上购物的礼物项目

我的导航菜单有3个级别,如下所示:

父菜单==>子菜单==>子子菜单

我必须在一个层次结构中从数据库表中获取所有这些值,我正在考虑以这样一种方式设计数据库表,即从表中获取菜单数据的请求时间是最小的

我的想法是用以下参数设计一个表名
navigation\u菜单

id(as menu id)
Menu_Name
Parent_id
在这里,我还可以使用存储过程来检查父级和子级关系,但我不知道如何使用输出来构建导航菜单。
或者,我可以用更好的方式设计数据库,以便更快地获取数据(需要建议)。

您的问题目前的措辞很可能会导致其结束。努力构建导航菜单。如果你真的不知道怎么做,那么你需要寻找一些教程。你是否在尝试建立一种生成网站的方法,以便用户可以定义自己的菜单?否则,我看不到将菜单名/结构存储到数据库中的好处。我建议您要么使用层次结构ID,要么更好地使用支持层次结构(如XML)的数据格式。您不太可能加入或报告您的菜单结构,因此使用规范化结构没有任何好处。我对实现有一个模糊的想法,我可以按照简单的方法查询表,将父节点提取到菜单,然后再次查询表,将子节点提取到菜单,但我希望使用存储过程或单操作方法使其更快一些,因为我正在尝试生成用于动态更新类别的自定义定义菜单。
id(Parent Menu id)   Menu_Name  Parent_id 
 0                   BIRTHDAY      -
 1                   OCASSIONS     -
 2                   GIFTS         -
 3                   SPECIAL       -
 4                   CAKES         0
 5                   OFFERS        1
 6                   GIFTS         0
 7                   SPECIAL CAKE  4
 8                   PHOTO CAKE    4