asp.net.ph

MenuItem Class

System.Web.UI.WebControls Namespace


.NET Framework version 2.0

Represents a menu item displayed in a Menu control. This class cannot be inherited.

MenuItem Class Members

Collapse   Constructors

Visibility Constructor Parameters
public MenuItem ( )
public MenuItem ( String text )
public MenuItem ( String text , String value )
public MenuItem ( String text , String value , String imageUrl )
public MenuItem ( String text , String value , String imageUrl , String navigateUrl )
public MenuItem ( String text , String value , String imageUrl , String navigateUrl , String target )

Collapse   Properties

Visibility Name Value Type Accessibility
public ChildItems MenuItemCollection [ Get ]
public DataBound Boolean [ Get ]
public DataItem Object [ Get ]
public DataPath String [ Get ]
public Depth Int32 [ Get ]
public Enabled Boolean [ Get , Set ]
public ImageUrl String [ Get , Set ]
public NavigateUrl String [ Get , Set ]
public Parent MenuItem [ Get ]
public PopOutImageUrl String [ Get , Set ]
public Selectable Boolean [ Get , Set ]
public Selected Boolean [ Get , Set ]
public SeparatorImageUrl String [ Get , Set ]
public Target String [ Get , Set ]
public Text String [ Get , Set ]
public ToolTip String [ Get , Set ]
public Value String [ Get , Set ]
public ValuePath String [ Get ]

Remarks

A Menu control is made up of a hierarchy of menu items represented by MenuItem objects. Each menu item has a read-only Depth property that specifies the level at which the menu item is displayed in the Menu control. Menu items at the top level ( level 0 ) that do not have a parent menu item are called root menu items. A menu item that has a parent menu item is called a submenu item. All root menu items are stored in the Items collection. Submenu items are stored in a parent menu item's ChildItems collection. You can access a menu item's parent menu item by using the Parent property.

NOTE: The Items and ChildItems collections contain only the menu items for the next level down. To access menu items further down the menu tree, use the ChildItems property of a subsequent menu item.

To create the menu items for a Menu control, use one of the following methods:

Use declarative syntax to create static menu items.

Use a constructor to dynamically create new instances of the MenuItem class. These MenuItem objects can then be added to the Items or ChildItems collection.

Bind the Menu control to a data source. When the Menu control is bound to a SiteMapDataSource control, MenuItem objects are automatically created that correspond to the items in the data source. For other data sources, MenuItem objects are also automatically created that match the hierarchy structure of data source; however, you must also use the DataBindings collection to define the menu item bindings that specify the binding relationship between a menu item and its corresponding data item.

The menu items are displayed in either a static menu or a dynamic menu, depending on its level. The static menu is always displayed in a Menu control. By default, the menu items at the top level ( level 0 ) are displayed in the static menu. You can display additional menu levels ( static submenus ) within the static menu by setting the StaticDisplayLevels property. Menu items ( if any ) with a higher level than the value specified by the StaticDisplayLevels property are displayed in a dynamic submenu. A dynamic submenu appears only when the user positions the mouse pointer over the parent menu item that contains a dynamic submenu.

When the user clicks a menu item, the Menu control can either navigate to a linked Web page or simply post back to the server. If the NavigateUrl property of a menu item is set, the Menu control navigates to the linked page; otherwise, it posts the page back to the server for processing. By default, a linked page is displayed in the same window or frame as the Menu control. To display the linked content in a different window or frame, use the Target property of the Menu control.

NOTE: The Menu.Target property affects every menu item in the control. To specify a window or frame for an individual menu item, set the Target property of the MenuItem object directly.

Each menu item has a Text and a Value property. The value of the Text property is displayed in the Menu control, while the Value property is used to store any additional data about the menu item, such as data passed to the postback event associated with the menu item. If you set the Text property, but leave the Value property unset, the Value property is automatically set with the same value as the Text property. The opposite is also true. If you set the Value property, but not the Text property, the Text property is automatically set with the same value as the Value property.

NOTE: Menu items at the same menu level must each have a unique value for the Value property; the Menu control cannot distinguish between different menu items at the same level that have the same value. In this scenario, if the user clicks a menu item that has a duplicate value, the menu item that appears first in the menu is selected.

To display a ToolTip when the user positions the mouse pointer over a menu item, set the item's ToolTip property.

A Menu control has several different types of menu items. You can control the style ( such as font size and color ) for the different menu item types by using the properties in the following table.

Menu item style property Description
DynamicHoverStyle The style settings for a dynamic menu item when the mouse pointer is positioned over it.
DynamicMenuItemStyle The style settings for an individual dynamic menu item.
DynamicMenuStyle The style settings for a dynamic menu.
DynamicSelectedStyle The style settings for the currently selected dynamic menu item.
StaticHoverStyle The style settings for a static menu item when the mouse pointer is positioned over it.
StaticMenuItemStyle The style settings for an individual static menu item.
StaticMenuStyle The style settings for a static menu.
StaticSelectedStyle The style settings for the currently selected static menu item.

Instead of setting the individual style properties, you can specify styles that are applied to menu items based on their level by using the style collections shown in the following table.

Level style collections Description
LevelMenuItemStyles A collection of MenuItemStyle objects that control the style of the menu items based on their level.
LevelSelectedStyles A collection of MenuItemStyle objects that control the style of selected menu items based on their level.
LevelSubMenuStyles A collection of MenuItemStyle objects that control the style of the submenu items based on their level.

The first style in the collection corresponds to the style of the menu items at the first depth level in the menu tree. The second style in the collection corresponds to the style of the menu items at the second depth level in the menu tree, and so on. This is most often used to generate table of contents-style navigation menus where menu items at a certain depth should have the same appearance, regardless of whether they have submenus.

NOTE: If you use any of the level style collections listed in the previous table to define the style for the Menu control, these style settings override the individual menu item style properties.

In addition to customizing a menu item's style, you can also customize its appearance. You can specify custom images for the different parts for a menu item by setting the properties in the following table.

Image property Description
ImageUrl An optional image displayed next to the text of a menu item.
PopOutImageUrl An optional image displayed in a menu item to indicate that the menu item has a dynamic submenu.
SeparatorImageUrl An optional image displayed at the bottom of a menu item to separate it from other menu items.

To determine whether a menu item is currently selected in a Menu control, use the Selected property. You can also determine whether a menu item is bound to data by using the DataBound property. If a menu item is bound to data, you can use the DataItem property to access the values of the data item bound to the menu item.

For a list of initial property values for an instance of the MenuItem class, see the MenuItem constructor.

See Also

ASP.NET Navigation Controls   Menu Class Skip Navigation Links




Home
Suggested Reading


Previous page Back to top Next page

© 2000-2010 Rey Nuñez All rights reserved.

If you have any question, comment or suggestion
about this site, please send us a note

You can help support asp.net.ph