3

我想让我的 Mvc.sitemap 中的一些节点只在谷歌站点地图中可见,不需要在菜单中显示它们。

有什么办法可以实现吗?

可能我需要以某种方式玩属性可见性

有什么想法吗?

4

1 回答 1

2

如 GitHub Wiki 上的高级节点可见性中所述,您必须将可见性提供程序更改为 FilteredSiteMapNodeVisibilityProvider 并将“可见性”添加到 attributesToIgnore:

<siteMap defaultProvider="MvcSiteMapProvider" enabled="true"> 
    <providers> 
        <clear /> 
        <add name="MvcSiteMapProvider" 
          type="MvcSiteMapProvider.DefaultSiteMapProvider, MvcSiteMapProvider" 
          ...
          attributesToIgnore="visibility" 
          ...
          siteMapNodeVisibilityProvider="MvcSiteMapProvider.FilteredSiteMapNodeVisibilityProvider, MvcSiteMapProvider"
        /> 
    </providers> 
</siteMap>

完成此操作后,您必须将可见性属性添加到要隐藏的所有节点。该属性应设置为:

<mvcSiteMapNode title="Only in SiteMap" ... visibility="XmlSiteMapResult,!*" />
于 2012-04-12T14:20:17.027 回答