
Multi-level menus provide pull-down (hierarchical) menus for site navigation in your generated application. Multi-level menus use the ASP.NET menu control to provide this feature. ASP.NET multi-level menus are controlled by a Site Map file, which is an XML containing all the menu items organized hierarchically. Iron Speed Designer generates separate sitemap files for each menu control created in your application.
Once your application is generated, you may edit the sitemap file either in Iron Speed Designer or externally as an XML file. You can modify the sitemap file in Iron Speed Designer’s Design tab by clicking the menu’s Configure… button or by selecting sitemap file using Iron Speed Designer’s Application Explorer.
You can add as many multi-level menu controls to your application as you wish by dragging them from Iron Speed Designer’s tool box onto your web pages. The sitemap file for each menu control should be placed in the same location as menu control file (.ASCX file).
Here is an example sitemap file:
<siteMap>
<siteMapNode>
<siteMapNode title="Categories" description="Categories" roles="">
<siteMapNode title="{Menu:Add} Categories" description="{Menu:Add} Categories" url="~/Categories/AddCategoriesPage.aspx" roles="" />
<siteMapNode title="{Menu:Edit} Categories" description="{Menu:Edit} Categories" url="~/Categories/EditCategoriesTablePage.aspx" roles="" />
<siteMapNode title="{Menu:Show} Categories" description="{Menu:Show} Categories" url="~/Categories/ShowCategoriesTablePage.aspx" roles="" />
</siteMapNode>
</siteMapNode>
</siteMap>
All sitemap files should contain a root element called <siteMap>. There can be only one siteMapNode element under the root <siteMap> element. You can create a menu hierarchy of any depth by nesting siteMapNode elements. Each siteMapNode tag represents a menu item in the menu control.
The tags are case-sensitive and should contain the following case-sensitive attributes:
title: The text displayed for the menu item. Surround any part of the title to be retrieved from a RESX file with {}.
title="{Menu:Add} Categories"
desciption: The tool tip displayed for the menu item. Surround any part of the title to be retrieved from a RESX file with {}.
description="{Menu:Add} Categories"
url: The url value may be an empty string or may contain a unique value. The value should be one of the following types:
Absolute url: The complete path of the web page you want to display.
http://www.ironspeed.com
Relative url: The url relative to application’s root.
~/Categories/ShowCategoriesTablePage.aspx
Note: The ASP.NET multi-level menu control does not allow for two identical URL links to be contained in the sitemap file. In some cases you may need to append a ‘?’ character to a URL if you have two menu items that reference the same URL (web page), e.g.,
~/Categories/ShowCategoriesTablePage.aspx
and
~/Categories/ShowCategoriesTablePage.aspx?
roles: A list of semicolon separated role IDs defined as part of application's security, e.g.:
roles="Ironspeed\admin;Ironspeed\engineering;All Domains\administrator"
The application user must belong to one of the listed roles in order for the menu item to be displayed. If security is not configured for the application or if a menu item should be displayed regardless of the security configuration, then the value of this attribute should be an empty string. The default value is the empty string.
Sitemap files: http://msdn2.microsoft.com/en-us/library/yy2ykkab.aspx
ASP.NET menu controls: http://msdn2.microsoft.com/en-us/library/yy2ykkab.aspx
Sitemap providers: http://msdn2.microsoft.com/en-us/library/ms178426.aspx
Specifying the Sitemap Provider
Renaming and Deleting Menu Controls
Adding Menu Items Programmatically at Application Run-time
Changing your Application’s Menu Type from Classic to Multi-level
Highlighting Parent Menu Items