I'm creating a new public facing internet site based on SharePoint Server 2010 (Publishing) and am having difficulty achieving my navigation requirements with the out-of-the-box controls. Can someone confirm whether or not it is possible to achieve the following or if I have to build a custom control. To set the scene we have the following example site map:

  • Home
    • About Us
    • Contact Us
    • Site Map
  • Services
    • Consultancy
      • Area 1
        • Area 1 Page 1
      • Area 2
      • Area 3
    • Development
      • Area 1
      • Area 2
        • Area 2 Page 1
      • Area 3
      • Area 4
    • Support
      • Area 1
        • Area 1 Page 1
      • Area 2
      • Area 3
  • Solutions
    • Products
    • Scenarios
  • Case Studies
    • Case Study 1...

What we need to do is expand the current section that the user is in and collapse all non-current navigation items to just show the top level. For example, when the user is in a page within the "Home" area the Home navigation section will be expanded showing all pages (and subsites) in that section. Beneath that you would just see "Services", "Solutions", "Case Studies" (i.e. not expanded). Then if you were looking at a page within the Consultancy area the "Home", "Solutions", and "Case Studies" sections would be collapsed.

I've been able to configure the controls (PublishingNavigation:PortalSitemapDatasource and SharePointWebControls:AspMenu) so that only current items are showing but I also want to show the other top level items. Can anyone explain how I need to configure the above controls to achieve this functionality? I can see a similar arrangement on this SharePoint site (http://www.nihr.ac.uk/Pages/default.aspx) but I'm not sure if it has required custom code to achieve this. I can write code to do this but I'd rather not reinvent the wheel.

Many thanks for any assistance provided.


I have faced that requirement before, but never succeeded without creating some sort of custom navigation -that is if you cant live with fly-out navigations.

  • 1
    Thanks for the input. I went ahead and built a custom control and implemented my own logic. – j.strugnell Oct 19 '10 at 12:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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