我在html页面上创建了菜单"Home""About Us"
,我想通过c#代码从数据库中获取Home
和About us
的子菜单。怎么做?
答案 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文章可能会对您有帮助。