我想让我的 Mvc.sitemap 中的一些节点只在谷歌站点地图中可见,不需要在菜单中显示它们。
有什么办法可以实现吗?
可能我需要以某种方式玩属性可见性
有什么想法吗?
如 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,!*" />