Ich verwende den ASP.NET MVC SiteMap-Anbieter in einem Projekt und es funktioniert großartig. Mir fällt es schwer, herauszufinden, wie man einen Menüeintrag jedoch versteckt. Der Menüpunkt, den ich in der globalen Navigation nicht anzeigen möchte, ist meine "Site Map" -Seite. Jetzt weiß ich, dass mir auf dem mvcSiteMapNode etwas namens VisibilityProvider
zur Verfügung steht - aber ich kann nicht herausfinden, wie es funktioniert.
Zuerst schlage ich vor, dass Sie diese Wiki-Seite lesen: Erstellen eines benutzerdefinierten SiteMapNodeVisibilityProvider . Dann deklarieren Sie für den spezifischen Knoten, der auf Ihre Site Map-Seite verweist:
%Vor% Wenn Sie nun die Methode IsVisible
implementieren (die auf der oben verlinkten Wiki-Seite angezeigt wird), können Sie dies tun:
Entnommen aus meiner Antwort, wie man Knoten und verfügbare Optionen versteckt.
Sie sollten diese Anleitung zum Ausblenden eines Knotens verwenden
Einige Einstellungen, die Sie über den obigen Link vornehmen können:
%Vor%Wenn Sie die App-Einstellungen hinzugefügt haben, fügen Sie Folgendes zu jedem Knoten hinzu, den Sie in den Breadcrumbs sehen möchten, nicht jedoch im Menü:
visibility="SiteMapPathHelper,!*"
(SiteMapPathHelper - der Knoten ist im sitemappath sichtbar,! * - er ist für alle anderen Steuerelemente unsichtbar)
zB:
%Vor%Weitere Optionen verfügbar:
Typ .......................... Was es betrifft
CanonicalHelper ....... Der Canonical HTML Helfer
MenuHelper .............. Das Menü HTML Helper
MetaRobotsHelper .... Der Meta-Roboter-HTML-Helfer
SiteMapHelper .......... Der SiteMap HTML Helfer
SiteMapPathHelper ... Der HTML-Helfer SiteMapPath
SiteMapTitleHelper ... Der Titel HTML Helper
XmlSiteMapResult .... Die Sitemaps-XML-Ausgabe des Endpunkts /sitemap.xml
Tags und Links asp.net-mvc visibility nodes menu mvcsitemapprovider