如何从数据库创建子菜单?
How to create submenus from database?
我在 html 页面上创建了菜单 "Home""About Us"
,我想通过 C# 代码从数据库中获取 Home
和 About 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 的文章可能对您有所帮助。
我在 html 页面上创建了菜单 "Home""About Us"
,我想通过 C# 代码从数据库中获取 Home
和 About 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 的文章可能对您有所帮助。