Ok, my dev and I had the same issue and think we figured out the issue and how to fix it.
The breakdown of the issue is here:
- You go to your SharePoint site that has publishing turned on and when you normally see your top navigation (with drop downs, if you have them setup) - it is all missing or you see "Error" in the top navigation bar.
- When you go to Site Actions -> Site Settings and click on Navigation, you get the generic "An unexpected error has occured" with a correlation ID.
- When you look up the Correlation ID in the ULS logs, you get an error similiar to:
System.Web.HttpException: '/#Type=Form&Name=AssetsCurrent&Page=*&Path=Main.NavigationSubform' is not a valid virtual path.
To resolve the issue:
- Go to your site and put this on the end of your SharePoint site url right after your site name: /_layouts/topnav.aspx
- This will get you to the now "hidden" area of the old top nav that was removed when you turned on publishing.
- So there is a bad link in your top nav, but the clue is in the ULS error. Look after /#Type=Form&Name= and you will see "Assets" for my error and for the original posters error, it was "openprojects"
- When your in the hidden area of the top nav, you will have a top nav link that cooresponds to the word you see in the ULS error. In my case, we had a bad link to an "Assets" DB and I deleted it.
- Once I deleted this bad link labeled Assets, the top bar came back and it started working again. I assume if the original poster goes to topnav.aspx and deletes his link with "openprojects" in it - his would work too.
- We found out that the user had published an Access DB to SharePoint as a sub-site and when SharePoint loads the access web DB sub-site, it renders an ugly url (which the user tried to put in the top nav as a link)
The bad rendered link looks like this: <<SharePoint site name>>/default.aspx#Type=Form&Name=AssetsCurrent&Page=*&Path=Main.NavigationSubform
- So to fix it after deleting the link, we just put the url to the Access web DB (ie the first half of the ugly url) and not with the fully rendered url with this on the end: default.aspx#Type=Form&Name=AssetsCurrent&Page=*&Path=Main.NavigationSubform
Hope this helps!
-
Proposed as answer by
Matthew D Hopkins
Tuesday, May 06, 2014 2:40 PM