Wenn Sie es durch Bedingung in Ihrem Controller ausblenden möchten, können Sie es nur auf diese Weise erreichen könnte, sollten Sie wahrscheinlich eine Eigenschaft in Objekt erstellen, das you'r von einer Steuerung der Rückkehr und dass propertly könnte beispielsweise genannt werden:
public static bool HideSamplePage {get; set;}
Und was Sie vielleicht auf Ihrer Ansicht tun, ist weiter (ich hoffe, Sie wissen, dass Razor Codeblöcke in @ eingeschlossen sind, {...})
@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>
}
Im obigen Code habe ich gesagt, wenn der Zustand der Eigenschaft HideSamplePage auf True gesetzt ist, dann <mvcSiteMapNode title="Sample Page" controller="Sample" action="Index" icon="fa fa-info">
wird nicht angezeigt/generiert.
sonst zeigen SamplePage
auch
Mögliche Duplikat [ASP.NET MVC SiteMap-Provider - Wie zu 'verstecken' einzelne Elemente im aktuellen Menü] (https://stackoverflow.com/questions/12007065/asp -net-mvc-sitemap-provider-wie-verstecken-single-artikel-im-aktuellen-menü) – NightOwl888