我在项目中使用ASP.NET MVC SiteMap提供程序,它运行良好。然而,我试图弄清楚如何隐藏一个菜单项,但我很困难。我想隐藏在全局导航中的菜单项是我的“站点地图”页面。现在我知道有一种叫做VisibilityProvider
的东西可以在mvcSiteMapNode上找到 - 但我似乎无法弄清楚如何使它工作。ASP.NET MVC SiteMap提供程序 - 如何在实际菜单中隐藏单个项目
8
A
回答
5
首先,我建议你阅读这个维基页面:Creating a Custom SiteMapNodeVisibilityProvider。然后指向你的网站导航页面的特定节点,这种方式声明它:
<mvcSiteMapNode title="Site Map" controller="Home" action="Map" visibility="false" />
现在,实现IsVisible
方法(在上面链接的wiki页面所示)时,你可以这样做:
string visibility = mvcNode["visibility"];
// Is a visibility attribute specified?
if (!string.IsNullOrEmpty(visibility))
{
isVisible = Convert.ToBoolean(mvcNode["visibility"]);
if (!isVisible)
{
return false;
}
}
return true;
6
从我的答案中解释了如何隐藏节点和可用选项。
https://stackoverflow.com/a/27095721/853295
你应该用在如何隐藏节点
某些设置这个指南,你可以从上面的链接设置:一旦你添加了
<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 - 节点是在的SiteMapPath可见,* - 这是所有其他控件看不见!)
如:
<mvcSiteMapNode title="Administration" area="Admin" clickable="false" visibility="SiteMapPathHelper,!*" />
其他方案可供选择:
类型 .......................... 它影响什么
CanonicalHelper ....... Canonical HTML Helper
MenuHelper ..............菜单HTML助手
MetaRobotsHelper .... Meta机器人HTML助手
SiteMapHelper .......... SiteMap HTML助手
SiteMapPathHelper ...的HTML的SiteMapPath助手
SiteMapTitleHelper ...标题HTML辅助
XmlSiteMapResult ....的/sitemap.xml端点
相关问题
- 1. ASP.NET MVC SiteMap提供程序-Razor
- 2. 如何使用ASP.NET MVC隐藏节点SiteMap提供程序
- 3. 如何在我的Android应用程序中提供“隐藏”菜单选项?
- 4. 如何隐藏ASP.NET菜单项?
- 5. 如何隐藏菜单项?
- 6. 如何在Mac应用程序菜单中隐藏“首选项”项目
- 7. ASP.NET MVC SiteMap提供程序可以使用任意资源吗?
- 8. ASP.net如何隐藏访客的菜单项?
- 9. Flex:从菜单中隐藏菜单项?
- 10. 无法隐藏菜单中的项目
- 11. 如何在应用程序中提供选项菜单?
- 12. 如何让菜单项隐藏在菜单项上?
- 13. 隐藏“编辑项目”菜单项
- 14. ActionMode菜单不隐藏菜单项
- 15. 如何在ASP.Net中隐藏基于角色的菜单项
- 16. 滑块隐藏菜单项
- 17. 隐藏管理菜单项
- 18. 在asp.net中隐藏授权菜单项web.sitemap
- 19. MVC4 C#项目:在应用程序提供一个对象的单个实例
- 20. 如何隐藏XAML菜单中菜单项左侧的空间?
- 21. 隐藏Android上下文菜单项目
- 22. ASP.Net MVC基于安全隐藏/显示菜单项
- 23. 删除/隐藏菜单项
- 24. 如何隐藏/显示基于登录用户的菜单项Asp.net mvc
- 25. 如何隐藏选项菜单?
- 26. 如何隐藏菜单项QML
- 27. Asp.net内置登录隐藏菜单
- 28. 如何在QMenu中隐藏子菜单
- 29. 隐藏特定菜单项
- 30. 如何隐藏菜单项,如果其子菜单折叠?
这是最简单的解决方案的站点地图XML输出,因为它不需要额外的代码。 – 2015-01-09 11:26:35