<Menu /> - the root element for entire Menu Structure File. Does not include attributes.

<item /> - one item element. Each item element can include other elements. Available attributes:

AutoPostBackOnItemClick - specifies a value indicating whether the control causes a postback to the server when the item is clicked.

ClientSideOnItemClick - specifies the client-side code to be launched when the item is clicked. Can include variables $ComponentID$, $ItemID$ and $Title$. Each variable is replaced to the corresponding value.

CSS_ItemHoveredTD - specifies the name of the CSS class used for precise item customization. It is applied to the hovered item TD.

CSS_ItemSelectedTD - specifies the name of the CSS class used for precise item customization. It is applied to the selected item TD.

CSS_ItemTD - specifies the name of the CSS class used for precise item customization. It is applied to the item TD.

CSS_SubMenuDIV - specifies the name of the CSS class used for precise submenu customization. It is applied to the submenu DIV.

href, target - the URL and target the browser is directed to when a user clicks the Item. The href attribute can include variables $ComponentID$, $ItemID$ and $Rnd$. Each variable is replaced to the corresponding value. The $Rnd$ displays a random number. It can be used as an additional parameter to avoid page caching in browser.

icon - specifies the name of item's icon image. The icon image displayed at the left side of the item. The icon images must be located in the Skin Folder as specified by the SkinFolder property.

iconOver - specifies the name of icon for hovered item.

iconWidth, iconHeight - one Item's icon image width and height. Attributes are optional. Control automatically calculates Width and Height of each icon.

id - specifies a unique identifier for the element. The attribute is required. If the id attribute is not specified, the component will automatically set it for each item (id="itm1", id="itm2", etc.).

image - specifies the name of the picture, used as one menu item. This attribute is used instead of the title attribute. The image file must be located in the Skin Folder as specified by the SkinFolder property.

imageOver - specifies the name of the picture, used for hovered item.

imageWidth, imageHeight - one Item's image width and height. Attributes are optional. Control automatically calculates Width and Height of each image.

SubMenuMarginLeft, SubMenuMarginTop - the width of the left (top) margin of the submenu. Use these attributes to specify the position of every single submenu.

Template - specifies the path to item's template file.

title - specifies the text (caption) displayed for the item. Can include HTML formatting by using of square brackets ("[" and "]") instead of standard corner brackets (""). Double square brackets ("[[" and "]]") are used to show single square brackets.

roles - specifies the collection of comma-separated user roles that are associated with the element. User roles provide developers with an easy and flexible way to control access to menu elements.

CSS_SeparatorTD - specifies the name of the CSS class used for precise separator customization. It is applied to the separator TD.

id - specifies a unique identifier for the element. The attribute is required. If the id attribute is not specified, the component will automatically set it for each separator (id="spr1", id="spr2", etc.).

image - specifies the name of the picture, used for separator.

imageWidth, imageHeight - one separator's image width and height.

roles - specifies the collection of comma-separated user roles that are associated with the element.

You can also apply the XML Document with structure by using the DataSource property. If the menu loads structure from the database, you should set the DataSource property to specify a source of data and call the DataBind() method. To create an appropriate table in the SQL Server, use the following SQL command:

You can also build up menu at runtime. APNSoft Menu provides an extremely rich and powerful server-side API allowing developer to add, remove or edit menu elements and element collections. You can programmatically control any item at runtime by using two classes MenuElement and MenuElementCollection.