Wenn ich auf einer Website mit MasterPages navigiere, weiß die Anwendung, auf welcher Seite ich bin? Wenn ja, speichert es es in einem Objekt, auf das ich zugreifen kann?
Der Grund, warum ich frage, ist, dass ich das ersetzen kann:
%Vor%Mit einer eleganteren Lösung für die Navigation, die den Link zu der Seite hervorhebt, indem die ID des Listenelements auf "aktuell" gesetzt wird. Derzeit wird auf jeder Seite die Navigation mit der ID des jeweiligen Links neu erstellt.
Ich stimme Chris zu: Verwenden Sie ein Steuerelement, um die Anzeige dieses Menüs zu steuern und um zu erkennen, welcher Link hervorgehoben werden soll. Hier ist eine Methode, die ich regelmäßig benutze. Es kann komplexer werden, wenn Sie mehrere Seiten haben, die denselben Link benötigen, der anders formatiert ist, aber Sie erhalten die Idee.
%Vor%Ja, verwenden Sie den folgenden Code in Ihrer Master-Datei. Es gibt Ihnen den Namen der Inhaltsseite.
%Vor%Sie würden wahrscheinlich nur einen der Request-Pfad von der Masterseite aus verwenden stelle den Strom ein. Ich würde wahrscheinlich auch eine Eigenschaft auf der Masterseite haben, um sie zu überschreiben, so dass Seiten ohne Links oder etwas etwas vernünftiges einstellen könnten.
Es hat auf diese Weise für mich funktioniert - Danke Jared
Dies ist, was ich gemacht habe, um unser Navigationsmenü zu erreichen, um den aktuellen Menüpunkt für die angezeigte Seite hervorzuheben. Der Code befindet sich auf der Masterseite. Du bekommst grundsätzlich den Dateipfad (Jared's Art) Wir benutzen das "~" in unseren Links, also musste ich das herausnehmen. Iterieren Sie die menuItems-Auflistung des Menu-Steuerelements. Vergleichen Sie die Eigenschaft navigateUrl.
(Ich bin nicht der beste Programmierer und noch schlimmer beim Erklären - aber es funktioniert und ich war ziemlich begeistert davon!)
%Vor%Die Navigationssteuerung, nicht die Masterseite, sollte dafür verantwortlich sein, welche Seite gerade hervorgehoben ist.
Entweder die geladene Seite sollte dem Navigationselement mitteilen, wer es ist, oder das Navigationssteuerelement selbst sollte es verfolgen.
Der Punkt ist, dass Masterseiten einfach ein Halter sein sollten, in dem Inhalte angezeigt werden. Sie sollen nichts steuern.
Tags und Links asp.net master-pages navigation