如何从数据库创建子菜单?

How to create submenus from database?

我在 html 页面上创建了菜单 "Home""About Us",我想通过 C# 代码从数据库中获取 HomeAbout us 的子菜单。如何做到这一点?

您需要在数据库中使用 table 来存储 MenuItems。然后在页面中放置ASP.NETMenu控件:

<asp:Menu ID="menuBar" runat="server" Orientation="Horizontal" Width="100%">
</asp:Menu>

后面的代码中:

DataTable dt = new DataTable();
//your sql code to fill dt
DataRow[] drowpar = dt.Select("ParentID=" + 0);

foreach (DataRow dr in drowpar)
{
    menuBar.Items.Add(new MenuItem(dr["MenuName"].ToString(), 
            dr["MenuID"].ToString(), "", 
            dr["MenuLocation"].ToString()));
}

foreach (DataRow dr in dt.Select("ParentID >" + 0))
{
    MenuItem mnu = new MenuItem(dr["MenuName"].ToString(), 
                   dr["MenuID"].ToString(), 
                   "", dr["MenuLocation"].ToString());
    menuBar.FindItem(dr["ParentID"].ToString()).ChildItems.Add(mnu);
}

阅读 this 来自 codeproject 的文章可能对您有所帮助。