MenuItemCollection class
SharePoint 2013
Used to add, delete, and arrange the menu items that are displayed in a Web Part menu.
System.Object
System.Collections.CollectionBase
Microsoft.SharePoint.WebPartPages.MenuItemCollection
System.Collections.CollectionBase
Microsoft.SharePoint.WebPartPages.MenuItemCollection
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
The following code example creates a custom menu that has one parent menu item and two submenu item. It assumes that this method is part of a Web Part class that includes an event handler named EventHandlerForItem1.
public override void CreateWebPartMenu() { // Declare variables for menu items. MenuItem ParentItem; MenuItem Item1; MenuItem Item2; // Create three menu items: // One parent item, and two submenu items. // Create the parent item. ParentItem = new MenuItem("ParentItem", "", "ParentItemID"); // Create a submenu item with a server event on click. Item1 = new MenuItem("Item1", "Item1ID", new EventHandler(EventHandlerForItem1)); // Create a submenu item with a client event on click. Item2 = new MenuItem("Item2", "javascript:alert('Item2 was clicked');", "Item2ID"); // Add the submenu items to the parent item. ParentItem.MenuItems.Add(Item1); ParentItem.MenuItems.Add(Item2); // Add the parent item after the "Modify Shared/Personal Web Part" // command in the default menu. // Retrieve the index of the "Modify Shared/Personal Web Part" // command. int EditIndex = this.WebPartMenu.MenuItems.IndexOf(this.WebPartMenu.MenuItems.ItemFromID("MSOMenu_Edit")); // Insert the parent item after the "Modify Shared/Personal Web // Part" command. this.WebPartMenu.MenuItems.Insert(EditIndex + 1, ParentItem); // Add a separator above the parent item. ParentItem.BeginSection = true; // Check the "ParentItemIsVisible" custom boolean property to // decide whether to display the parent menu. if (this.ParentItemIsVisible == true) { ParentItem.Visible = true; } else { ParentItem.Visible = false; } // Check the "EnableItem1" custom boolean property to decide which // menu item to enable. // within the parent item. if (this.EnableItem1 == true) { Item1.Enabled=true; Item2.Enabled=false; } else { Item1.Enabled=false; Item2.Enabled=true; } }