Weiß eine MasterPage, welche Seite angezeigt wird?

7

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.

    
Anders 09.10.2008, 20:26
quelle

10 Antworten

13

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%     
Blumer 09.10.2008, 21:19
quelle
9

Um die aktuelle Anforderungs-URL von der Masterseite zu erhalten, tun Sie Folgendes:

%Vor%

Ich empfehle auch, die Navigation auf die Masterseite anstatt auf die Inhaltsseite zu verschieben. Dies erleichtert die Pflege / den Zugriff.

    
Jared 09.10.2008 20:55
quelle
2

Ja, verwenden Sie den folgenden Code in Ihrer Master-Datei. Es gibt Ihnen den Namen der Inhaltsseite.

%Vor%     
Sarim Shekhani 08.07.2013 11:56
quelle
0

Sie sollten die Seite abrufen können, indem Sie auf die Page-Eigenschaft zugreifen. IE:

%Vor%     
Jared 09.10.2008 20:31
quelle
0

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.

    
Mark Brackett 09.10.2008 21:07
quelle
0

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%     
user3443090 06.05.2014 11:32
quelle
0
%Vor%     
Meysam Ghorbani 04.10.2014 05:54
quelle
-1

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.

    
NotMe 09.10.2008 20:56
quelle
-1

probiere

aus %Vor%

Damit erhalten Sie die Masterseite der aktuellen Seite.

    
Kush 17.04.2013 13:44
quelle
-2

Es gibt auch Request.RawURL

    
Kon 09.10.2008 20:51
quelle