Was wäre der beste/geeignetste Weg, um das Folgende in meiner MVC-Webanwendung zu erreichen?Stile programmgesteuert in ASP.NET anwenden MVC MasterPage View
Ich habe eine Ansicht namens Site.Master (es ist meine MasterPage-Ansicht), und über die Spitze dieser Ansicht habe ich 5 Links, die als meine Website-Navigation dienen, z.
<ul>
<li><a href="">Home</a></li>
<li><a href="">Links</a></li>
<li><a href="">Contact Us</a></li>
...etc
</ul>
Was ich will, ist in der Lage sein, den entsprechenden Text-Link zu markieren, nach welchem Teil der Website der Benutzer gerade sehen, so dass, wenn sie den ‚Kontakt‘ Seite verwendet hat, der Kontakt Link Auf der Masterseitenansicht würde ein anderer CSS-Stil angewendet werden.
In Web Forms war jeder meiner Links ein Hyperlink-Steuerelement, und ich hatte eine Eigenschaft im Code hinter der MasterPage, so dass jedem HyperLink-Steuerelement der relevante CssStyle zugewiesen wurde.
Was wäre der beste Weg, um dasselbe in meiner MasterPage-Ansicht zu erreichen, jetzt verwende ich MVC?
Hallo Darin. Das funktioniert fast perfekt. Das Problem, das ich habe, ist, dass ich für einen dieser Abschnitte der Website über 1 von 2 möglichen Aktionen für diesen Controller (Artikel oder LatestArticle) komme. Ich habe eine Teilansicht, die ich auf der Website verwende, die die Aktion "Artikel" statt der Standardaktion "LatestArticle" aufruft. Wenn ich also über meine Teilansicht zu diesem Abschnitt der Site navigiere, ist die Bedingung in der Helper-Methode nie erfüllt, da 'Article' nie als ActionName-Parameter an meine MenuLink-Methode übergeben wird. Irgendwelche Vorschläge? – marcusstarnes
Nun, alles, was Sie tun müssen, ist die Signatur der Hilfsmethode zu ändern, um eine Liste von Aktionen anstelle einer einzelnen Aktion zu akzeptieren und dann zu überprüfen, ob die aktuelle Aktion mit einem der Elemente in dieser Liste übereinstimmt. –