我在面包屑中使用 mvcsitemapprovider。在网站的某些部分,我只想在参数满足某些条件时才显示子节点。所有节点都已在 Mvc.sitemap 中定义。我只想隐藏它们,直到 URL 参数满足要求。
我想知道 DynamicNodeProvider 是否是我唯一的选择。我不能在运行时显示/隐藏几个节点吗?
请帮忙。
我在面包屑中使用 mvcsitemapprovider。在网站的某些部分,我只想在参数满足某些条件时才显示子节点。所有节点都已在 Mvc.sitemap 中定义。我只想隐藏它们,直到 URL 参数满足要求。
我想知道 DynamicNodeProvider 是否是我唯一的选择。我不能在运行时显示/隐藏几个节点吗?
请帮忙。
有2个选项:
对于第二个选项,我建议将MvcSiteMapProvider_VisibilityAffectsDescendants设置设置为 false,这样您的节点将切换可见性而不受其祖先节点的影响。
IDynamicNodeProvider 不是获得这种行为的选项。动态节点是可能从动态数据源加载的节点,但它们仍会在应用程序启动时加载到共享缓存中。它们不是按请求加载的。但是,您可以将上述两个选项与 IDynamicNodeProvider 一起使用。