Improving Multi-Level Menu Performance

Multi-level menus in applications sometimes run very slowly or result in delays when loading the selected page.  This is due to poor performance in the ASP.NET multi-level menu control itself and not in your application or in your database.  This section describes several suggestions for improving the performance of the ASP.NET multi-level menu control.

If securityTrimmingEnabled is set to “True” for the sitemap provider in your application’s Web.config file, try setting securityTrimmingEnabled to “False”.  When a page is loaded, all the controls on the page are loaded including the multi-level menu control.  When securityTrimmingEnabled is ‘True”, each menu item is checked to see if it can be displayed based on the application user’s role.  This may result in slow page loading.  For more details, see:

http://forums.asp.net/p/1031767/1417484.aspx

Another solution is to open your application in the Firefox browser.   In Firefox, menu items are generally displayed faster and sub-menus slide out faster when you hover over a menu item.  Accordingly, page loading times may improve because of this faster performance.  The ASP.NET menu control uses JavaScript to display sub-menus and Firefox may have better JavaScript engine performance.  For more details, see:

http://forums.asp.net/p/1215904/2157681.aspx

See Also

Configuring Multi-Level Menus

Specifying Security Roles for Multi-Level Menus

Specifying the Sitemap Provider

Renaming and Deleting Menu Controls

Adding Menu Items Programmatically at Application Run-time

Changing the Application Menu Type from Classic to Multi-level

Improving Multi-Level Menu Performance