private Control CreateChildItems(Micajah.Common.Bll.Action item) { HtmlGenericControl div = null; if (item.ShowChildrenInDetailMenu) { ActionCollection availableChildActions = item.GetAvailableChildActions(m_ActionIdList, m_IsFrameworkAdmin, m_IsAuthenticated); if (availableChildActions.Count > 0) { ControlList list = null; try { div = new HtmlGenericControl("div"); div.Attributes["class"] = "C"; list = new ControlList(); list.Delimiter = ", "; foreach (Micajah.Common.Bll.Action childItem in availableChildActions) { if (list.Count < MaxChildItems) { list.Add(CreateItemLink(childItem)); } else { list.Add(CreateItemLink(item, Resources.DetailMenu_Ellipsis, false)); break; } } div.Controls.Add(list); } finally { if (div != null) { div.Dispose(); } if (list != null) { list.Dispose(); } } } } return(div); }
/// <summary> /// Creates child controls. /// </summary> protected override void CreateChildControls() { this.Controls.Clear(); if (this.Items.Count == 0) { return; } HtmlGenericControl mainContainer = null; HtmlGenericControl container = null; HtmlGenericControl innerContainer = null; HtmlGenericControl bar = null; HtmlGenericControl ul = null; HtmlGenericControl p = null; ControlList controlList = null; Control itemLink = null; Guid mainMenuItemId = this.SelectedActionId; try { mainContainer = new HtmlGenericControl("div"); mainContainer.Attributes["class"] = "Mp_Mm"; this.Controls.Add(mainContainer); MasterPageTheme theme = FrameworkConfiguration.Current.WebApplication.MasterPage.Theme; switch (theme) { case MasterPageTheme.Gradient: case MasterPageTheme.StandardTabs: case MasterPageTheme.Modern: ul = new HtmlGenericControl("ul"); string cssClass = null; if (theme == MasterPageTheme.Modern) { p = new HtmlGenericControl("p"); p.Attributes["class"] = "mobile-nav"; p.InnerHtml = Resources.MainMenu_MenuLink_Text; innerContainer = new HtmlGenericControl("div"); innerContainer.Attributes["class"] = "col-sm-12"; innerContainer.Controls.Add(p); innerContainer.Controls.Add(ul); container = new HtmlGenericControl("div"); container.Attributes["class"] = "container"; container.Controls.Add(innerContainer); mainContainer.Controls.Add(container); cssClass = "active"; } else { mainContainer.Controls.Add(ul); cssClass = "S"; } foreach (Micajah.Common.Bll.Action item in this.Items) { if (item.ActionId == ActionProvider.StartPageActionId) { bool redirect = false; Micajah.Common.WebControls.AdminControls.StartControl.GetStartMenuCheckedItems(m_UserContext, out redirect); if (redirect) { continue; } } ul.Controls.Add(CreateLinkAsListItem(item, ((item.ActionId == mainMenuItemId) ? cssClass : null))); } if (theme != MasterPageTheme.Modern) { bar = new HtmlGenericControl("div"); bar.Attributes["class"] = "Mp_Mmb"; this.Controls.Add(bar); } break; case MasterPageTheme.Standard: controlList = new ControlList(); controlList.Delimiter = " | "; foreach (Micajah.Common.Bll.Action item in this.Items) { if (item.ActionId == ActionProvider.StartPageActionId) { bool redirect = false; Micajah.Common.WebControls.AdminControls.StartControl.GetStartMenuCheckedItems(m_UserContext, out redirect); if (redirect) { continue; } } itemLink = Submenu.CreateLink(item, ((item.ActionId == mainMenuItemId) ? "S" : null), false); controlList.Add(itemLink); } mainContainer.Controls.Add(controlList); break; } } finally { if (ul != null) { ul.Dispose(); } if (mainContainer != null) { mainContainer.Dispose(); } if (bar != null) { bar.Dispose(); } if (container != null) { container.Dispose(); } if (innerContainer != null) { innerContainer.Dispose(); } if (p != null) { p.Dispose(); } if (controlList != null) { controlList.Dispose(); } if (itemLink != null) { itemLink.Dispose(); } } }