e p*_*e p 6 navigation sharepoint sharepoint-2010
我遇到了一个问题,即在发布的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" />
Run Code Online (Sandbox Code Playgroud)
谷歌并不是非常有帮助,因此非常感谢所提供的任何帮助.
编辑:刚刚注意到我不需要更改菜单项重新出现的节点顺序,只需加载SPWeb对象的_layouts/AreaNavigationSettings.aspx页面即可.它看起来更像是缓存问题.
尝试增加 web.config 中的值DynamicChildLimit
。
这将在声明导航提供程序的行中提到,例如
add name="CurrentNavSiteMapProvider" description="CMS provider for Current navigation"
type="Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider"
NavigationType="Current" EncodeOutput="true" />
Run Code Online (Sandbox Code Playgroud)
DynamicChildLimit
,它是一个整数属性,指定每个网站的最大“动态”子级(动态子级包括子网站和页面)。该值默认为 50,因此,如果特定网站的子网站和页面数量大于 50 个对象,则将忽略该对象,除非您调整此设置。这个限制可以增加,但请记住导航层次结构的可用性,因为每个枢轴都有很多子项。
归档时间: |
|
查看次数: |
1802 次 |
最近记录: |