如果要通過條件控制器隱藏它,你只能在這條路上實現它,你應該創建一個對象的屬性,找你從控制器回來,該propertly可能被打了個比方:
public static bool HideSamplePage {get; set;}
什麼你可能在你的視圖做的是下一個(我希望你知道,剃刀代碼塊被封閉在@ {...})
@if(Model.HideSamplePage)
{
<mvcSiteMapNode title="Home" clickable="false" icon="fa fa-home" visibility="SiteMapPathHelper,!"></mvcSiteMapNode>
<mvcSiteMapNode title="Dashboard" controller="Dashboard" action="Index" icon="fa fa-dashboard"></mvcSiteMapNode>
<mvcSiteMapNode title="Master" clickable="false" icon="fa fa-info"></mvcSiteMapNode>
</mvcSiteMapNode>
}
else
{
<mvcSiteMapNode title="Home" clickable="false" icon="fa fa-home" visibility="SiteMapPathHelper,!"></mvcSiteMapNode>
<mvcSiteMapNode title="Dashboard" controller="Dashboard" action="Index" icon="fa fa-dashboard"></mvcSiteMapNode>
<mvcSiteMapNode title="Sample Page" controller="Sample" action="Index" icon="fa fa-info">
<mvcSiteMapNode title="Master" clickable="false" icon="fa fa-info"></mvcSiteMapNode>
</mvcSiteMapNode>
}
在上面的代碼中,如果將屬性HideSamplePage的狀態設置爲true,則 然後<mvcSiteMapNode title="Sample Page" controller="Sample" action="Index" icon="fa fa-info">
將不會被顯示/生成。
其他 顯示SamplePage
也
的可能的複製[ASP.NET MVC網站地圖提供商 - 如何在實際的菜單中選擇「隱藏」單品(https://stackoverflow.com/questions/12007065/asp -net-mvc-sitemap-provider-how-to-hide-single-items-in-the-actual-menu) – NightOwl888