protected override string Render() { MenuItemContainer menuItemContainerItem = null; string pageURL = ""; string template = ""; menuItemContainerItem = ProviderBase.Data.Utility.XMLDeseralize <MenuItemContainer>(HttpContext.Current.Server.MapPath(@"/Resource/XML/") + this.websitePageContent.XMLFile); pageURL = this.Context.Request.CurrentExecutionFilePath.Replace(".aspx", ""); if (menuItemContainerItem != null && menuItemContainerItem.MenuItemList.Count > 0) { template += "<ul"; template += (string.IsNullOrEmpty(menuItemContainerItem.CSSClass) == false) ? $" class=\"{menuItemContainerItem.CSSClass}\"" : ""; template += ">"; foreach (MenuItem menuItem in menuItemContainerItem.MenuItemList) { if ((int)this.User.UserRoleTypeID < menuItem.UserRoleTypeID) { break; } template += "<li"; if (menuItem.Link == pageURL || (menuItem.Link == "/" && pageURL.ToLower() == "/default")) { template += (string.IsNullOrEmpty(menuItem.CSSClassSelected) == false) ? $" class=\"{menuItem.CSSClassSelected}\"" : ""; } else { template += (string.IsNullOrEmpty(menuItem.CSSClass) == false) ? $" class=\"{menuItem.CSSClass}\"" : ""; } template += (string.IsNullOrEmpty(menuItem.Tooltip) == false) ? $" tooltip=\"{menuItem.Tooltip}\"" : ""; template += (string.IsNullOrEmpty(menuItem.OnClick) == false) ? $" OnClick=\"{menuItem.OnClick}\"" : ""; template += (string.IsNullOrEmpty(menuItem.OnMouseEnter) == false) ? $" OnMouseEnter=\"{menuItem.OnMouseEnter}\"" : ""; template += (string.IsNullOrEmpty(menuItem.OnMouseLeave) == false) ? $" OnMouseleave=\"{menuItem.OnMouseLeave}\"" : ""; template += (string.IsNullOrEmpty(menuItem.OnMouseMove) == false) ? $" OnMouseMove=\"{menuItem.OnMouseMove}\"" : ""; template += ">"; template += (string.IsNullOrEmpty(menuItem.Link) == false) ? $"<a href=\"{menuItem.Link}\">" : ""; template += (string.IsNullOrEmpty(menuItem.DisplayText) == false) ? $"<span>{menuItem.DisplayText.ToUpper()}</span>" : ""; template += (string.IsNullOrEmpty(menuItem.DisplayImage) == false) ? $"<img src=\"{menuItem.DisplayImage}\"/>" : ""; template += (string.IsNullOrEmpty(menuItem.Link) == false) ? "</a>" : ""; template += "</li>"; } template += "</ul>"; } return(template); }
private void OnPropertyGridPropertyValueChanged(object sender, PropertyValueChangedEventArgs e) { this.ValidatePropertyGrid(); MenuItemContainer selectedNode = (MenuItemContainer)this._treeView.SelectedNode; if (selectedNode != null) { selectedNode.Text = selectedNode.WebMenuItem.Text; } this._propertyGrid.Refresh(); }
private void OnAddRootButtonClick() { this.ValidatePropertyGrid(); MenuItemContainer node = new MenuItemContainer(); this._treeView.Nodes.Add(node); string str = System.Design.SR.GetString("MenuItemCollectionEditor_NewNodeText"); node.Text = str; node.WebMenuItem.Text = str; this._treeView.SelectedNode = node; }
private void ValidatePropertyGrid() { MenuItemContainer selectedNode = (MenuItemContainer)this._treeView.SelectedNode; if (selectedNode != null) { selectedNode.Text = selectedNode.WebMenuItem.Text; if (selectedNode.WebMenuItem.Selected && (!selectedNode.WebMenuItem.Selectable || !selectedNode.WebMenuItem.Enabled)) { UIServiceHelper.ShowError(base.ServiceProvider, System.Design.SR.GetString("MenuItemCollectionEditor_CantSelect")); selectedNode.WebMenuItem.Selected = false; this._propertyGrid.Refresh(); } } }
private void OnAddChildButtonClick() { this.ValidatePropertyGrid(); System.Windows.Forms.TreeNode selectedNode = this._treeView.SelectedNode; if (selectedNode != null) { MenuItemContainer node = new MenuItemContainer(); selectedNode.Nodes.Add(node); string str = System.Design.SR.GetString("MenuItemCollectionEditor_NewNodeText"); node.Text = str; node.WebMenuItem.Text = str; selectedNode.Expand(); this._treeView.SelectedNode = node; } }
private void LoadNodes(System.Windows.Forms.TreeNodeCollection destNodes, System.Web.UI.WebControls.MenuItemCollection sourceNodes) { foreach (System.Web.UI.WebControls.MenuItem item in sourceNodes) { MenuItemContainer node = new MenuItemContainer(); destNodes.Add(node); node.Text = item.Text; System.Web.UI.WebControls.MenuItem clone = (System.Web.UI.WebControls.MenuItem)((ICloneable)item).Clone(); this._menuDesigner.RegisterClone(item, clone); node.WebMenuItem = clone; if (item.ChildItems.Count > 0) { this.LoadNodes(node.Nodes, item.ChildItems); } } }
private void LoadNodes(System.Windows.Forms.TreeNodeCollection destNodes, System.Web.UI.WebControls.MenuItemCollection sourceNodes) { foreach (System.Web.UI.WebControls.MenuItem item in sourceNodes) { MenuItemContainer node = new MenuItemContainer(); destNodes.Add(node); node.Text = item.Text; System.Web.UI.WebControls.MenuItem clone = (System.Web.UI.WebControls.MenuItem) ((ICloneable) item).Clone(); this._menuDesigner.RegisterClone(item, clone); node.WebMenuItem = clone; if (item.ChildItems.Count > 0) { this.LoadNodes(node.Nodes, item.ChildItems); } } }