У меня проблема, из-за которой навигация третичного уровня случайно исчезает на публикуемом сайте SharePoint 2010. Я могу воспроизвести исчезновение, перезапустив пул приложений или очистив кеш объектов. Похоже, это проблема кеширования, поскольку поставщики навигации действительно используют кеширование для повышения производительности. Когда меню исчезнет, я могу вернуть его, просто перейдя в настройки навигации для SPWeb и изменив порядок узлов.Похоже, это делает кеш недействительным, и меню появляется снова.
Ниже приведен фрагмент элементов portalsitemapdatasource и aspmenu.
<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 не очень помог, поэтому любая оказанная помощь приветствуется.
Изменить: Просто заметил, что мне не нужно было изменять порядок узлов для повторного появления пунктов меню, просто загрузка страницы _layouts / AreaNavigationSettings.aspx для объекта SPWeb делает свое дело. Это даже больше похоже на проблему с кешем.