I've got an issue where the tertiary level navigation randomly dissappears on a publishing SharePoint 2010 site. I can reproduce the dissappearance by recycling the app pool or flushing the object cache. It seems like it is a caching issue as the navigation providers do use caching for performance. Once the menu dissappears, I can get it back by simply going to the navigation settings for the SPWeb and changing the order of the nodes. This seems to invalidate the cache and the menu appears again.

Below is a snippet of the portalsitemapdatasource and aspmenu elements.

    <publishingnavigation:portalsitemapdatasource id="mapThirdLevelNavigation" runat="server"
        sitemapprovider="CurrentNavigation" enableviewstate="false" startfromcurrentnode="true"
        startingnodeoffset="1" showstartingnode="false" TreatStartingNodeAsCurrent="False" />

    <sharepoint:aspmenu id="mnuBottomNavigation" runat="server" datasourceid="mapTopNavigation"
        enableviewstate="false" accesskey="<%$Resources:wss,navigation_accesskey%>"
        orientation="Horizontal" maximumdynamicdisplaylevels="0" dynamichorizontaloffset="0"
        staticpopoutimagetextformatstring="" skiplinktext="" staticsubmenuindent="0"
        cssclass="bottom-topNavContainer" />

Google hasn't been very helpful so any assistance provided is very much appreciated.

Edit: Just noticed that I didn't need to change the order of the nodes for the menu items to reappear, just loading the _layouts/AreaNavigationSettings.aspx page for the SPWeb object does the trick. It's looking even more like a cache issue.

  • I know this issue too. Since I couldn't reproduce it, I didn't open a support case at Microsoft.... In my case it's also inside a publishing page. It happens always after solution and/or feature update followed by flushing blob cache. After this, on some pages navigation disappeared. I would be interested in an automatic way (e.g. powershell script) to fix the problem...
    – user4060
    Jul 10, 2011 at 21:38

1 Answer 1


the navigation is cached in the object cache, as can be read about here: http://technet.microsoft.com/en-us/library/cc298466(office.12).aspx. And anything stored in memory is gone with an app pool recycle.

I'd try add a webrequest with powershell to the page you mentioned as part of your maintenance / wakeup / deployment scripts.

  • We've got warm up scripts in place at the moment for the app pool recycles which happen once in 24 hours. The cache expires randonly multiple times during the day so i don't think this'll help. I've got an idea I'll try this evening and I'll let you know how it goes.
    – e p
    Jul 14, 2011 at 3:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.