asp.net-mvc - ASP.NET MVC SiteMap 提供程序——如何在实际菜单中显示 'hide' 单项

标签 asp.net-mvc menu visibility nodes mvcsitemapprovider

我在一个项目中使用 ASP.NET MVC SiteMap 提供程序,它运行良好。但是,我很难弄清楚如何隐藏菜单项。我想在全局导航中隐藏的菜单项是我的“站点地图”页面。现在我知道有一个东西叫做 VisibilityProvider在 mvcSiteMapNode 上可供我使用 - 但我似乎无法弄清楚如何使其工作。

最佳答案

取自我在这里的回答,解释如何隐藏可用的节点和选项。

https://stackoverflow.com/a/27095721/853295

您应该使用本指南了解如何隐藏节点

https://github.com/maartenba/MvcSiteMapProvider/wiki/Advanced-Node-Visibility-with-ISiteMapNodeVisibilityProvider

您可以从上面的链接中设置一些设置:

<appSettings>
    <!-- Visibility will not filter to children -->
    <add key="MvcSiteMapProvider_VisibilityAffectsDescendants" value="false"/>
    <!-- Set default visibility provider -->
    <add key="MvcSiteMapProvider_DefaultSiteMapNodeVisibiltyProvider" value="MvcSiteMapProvider.FilteredSiteMapNodeVisibilityProvider, MvcSiteMapProvider"/>
</appSettings>

添加应用程序设置后,将以下内容添加到您希望在面包屑而不是菜单中看到的任何节点:
visibility="SiteMapPathHelper,!*" (SiteMapPathHelper - 节点在站点地图路径中可见,!* - 它对所有其他控件不可见)

例如:
<mvcSiteMapNode title="Administration" area="Admin" clickable="false" visibility="SiteMapPathHelper,!*" />

其他可用选项:

输入 ...................... 影响
CanonicalHelper.......Canonical HTML Helper
MenuHelper........菜单 HTML 助手
MetaRobotsHelper.... Meta Robots HTML 助手
SiteMapHelper........SiteMap HTML Helper
SiteMapPathHelper...SiteMapPath HTML 帮助器
SiteMapTitleHelper...标题 HTML 助手
XmlSiteMapResult..../sitemap.xml 端点的站点地图 XML 输出

关于asp.net-mvc - ASP.NET MVC SiteMap 提供程序——如何在实际菜单中显示 'hide' 单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12007065/

相关文章:

java - JDialog 不可见

Javascript 隐藏元素 onclick,不起作用

asp.net - ASP.NET MVC 在工业中得到广泛应用还有多久?

android - 为什么工具栏中的菜单图标没有出现在 DrawerLayout 中

html - 默认伸展树(Splay Tree)形菜单的子节点

html - 无法使水平 <UL> 菜单居中或足够宽,不断换行

asp.net-mvc - ASP.NET MVC 将列表传递给 RouteData QueryString

asp.net-mvc - MVC - 在 Controller 中处理资源

asp.net - MVC 代码重构

PHP 到 JQuery 代码转换 [If else]