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

时间:2015-07-11 09:08:33

标签: c# asp.net submenu

我在html页面上创建了菜单"Home""About Us",我想通过c#代码从数据库中获取HomeAbout us的子菜单。怎么做?

1 个答案:

答案 0 :(得分:1)

您需要数据库中的表来存储MenuItems。然后将ASP.NET Menu控件放在页面中:

<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);
}

从codeproject阅读this文章可能会对您有帮助。