我在項目中使用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