Skip to Main Content
Essential SharePoint
book

Essential SharePoint

by Jeff Webb
May 2005
Beginner content levelBeginner
336 pages
10h 14m
English
O'Reilly Media, Inc.
Content preview from Essential SharePoint

Adding Menus

To add a menu to a web part, override CreateWebPartMenu to add MenuItem objects to the web part's MenuItems collection. For example, the following code adds a Save Settings item to the web part menu:

      Dim _mnuSave As MenuItem
 
      Public Overrides Sub CreateWebPartMenu()
          _mnuSave = New MenuItem("Save Settings", "mnuSave", _
            New EventHandler(AddressOf _mnuSave_Click))
           Me.WebPartMenu.MenuItems.Add(_mnuSave)
      End Sub
 
      Private Sub _mnuSave_Click(ByVal sender As Object, ByVal e As System.EventArgs)
         Try
             Me.SaveProperties = Not _chkSave.Checked
        Catch
             _msg &= "You must be signed in as a contributor to save properties. "
        End Try
      End Sub

The MenuItem constructor sets the displayed name, ID, and event handler for the menu item. In this case, the _mnuSave_Click event handler switches the SaveProperties setting for the web part on and off.

Menus don't save their state: they are redrawn from scratch each time the page is displayed. That's why a statement like _mnuSave.Checked = Not _mnuSave.Checked doesn't toggle the checkmark on a menu item. Instead you must use a web part property or a web control (such as the checkbox) to track the checked status of a menu item.

The CreateMenu and CreateChildControls methods are not called in a fixed order, so it's important to set web control properties in the OnPreRender event when working with web part menus. OnPreRender always occurs just before the web part is rendered. This code completes the Save Settings menu example by setting the control properties ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

SharePoint User's Guide

SharePoint User's Guide

Infusion Development Corp. (Infusion Development Corporation)
Beginning SharePoint® 2010: Building Business Solutions with SharePoint

Beginning SharePoint® 2010: Building Business Solutions with SharePoint

Amanda Perran, Shane Perran, Jennifer Mason, Laura Rogers

Publisher Resources

ISBN: 0596008805Errata Page