<asp:Menu ID="Menu1" runat="server" Orientation="Horizontal" Width="450px" Height="100%"> <DynamicMenuStyle CssClass="submenu" /> <LevelMenuItemStyles> <asp:MenuItemStyle CssClass="level1" /> <asp:MenuItemStyle CssClass="level2" /> <asp:MenuItemStyle CssClass="level2" /> <asp:MenuItemStyle CssClass="level2" /> <asp:MenuItemStyle CssClass="level2" /> </LevelMenuItemStyles> <DynamicMenuItemStyle CssClass="level2" /> <Items> <asp:MenuItem NavigateUrl="~/ContentPages/Common/HomeDashboard.aspx" Text="Home" Value="Home"></asp:MenuItem> </Items> </asp:Menu>
private void LoadMenu() { int roleId; if (SessionManager.Current.RoleId != null) { int.TryParse(SessionManager.Current.RoleId.Value.ToString(), out roleId); List<menuitemex> menuByRole = GlobalCacheManager.GetMenuByRole(roleId); MenuItem topNode = new MenuItem(); foreach (MenuItemEx menu in menuByRole) { if (menu.ChildMenus != null && menu.ChildMenus.Count > 0) { MenuItem rootNode = new MenuItem(); rootNode.Text = menu.MenuName; rootNode.Value = menu.MenuId.ToString(); //topNode.ChildItems.Add(rootNode); Menu1.Items.Add(rootNode); foreach (var item in menu.ChildMenus) { AddChildRecursively(rootNode, item); } } } } // Menu1.Items.Add(topNode); }
public static void AddChildRecursively(MenuItem parentNode, MenuItemEx menu) { MenuItem rootNode = new MenuItem(); rootNode.Text = menu.MenuName; rootNode.Value = menu.MenuId.ToString(); rootNode.NavigateUrl = menu.PageUrl; parentNode.ChildItems.Add(rootNode); if (menu.ChildMenus != null && menu.ChildMenus.Count > 0) { foreach (var item in menu.ChildMenus) { AddChildRecursively(rootNode, item); } } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)