ASP.NET MVC - Aktuelle Seite, die Hervorhebung in der navigation
Frage ich mich, wie ist es möglich, fügen Sie eine CSS-Klasse für die aktuelle Seite in der navigation bei der Verwendung von ASP.NET MVC-3? Hier ist meine navigation in meiner _Layout.cshtml-Datei:
<p>@Html.ActionLink("Product Search", "Index", new { controller = "Home" }, new { @class = "current" })
| @Html.ActionLink("Orders", "Index", new { controller = "Orders" })
| @Html.ActionLink("My Account", "MyAccount", new { controller = "Account" })
| @Html.ActionLink("Logout", "LogOff", new { controller = "Account" })</p>
Wie Sie sehen können, habe ich 4 links in meiner navigation mit der ersten mit der CSS-Klasse "current" angewendet, ich möchte in der Lage sein, um hinzuzufügen/entfernen Sie diese Klasse, um die verschiedenen links in meiner navigation je nachdem, auf welcher Seite sich der user befindet. Ist das möglich?
Cheers
InformationsquelleAutor CallumVass | 2012-02-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde empfehlen, mit einer Erweiterung Methode für diese. So etwas wie:
Dann können Sie es in Ihre Ansicht, indem Sie den namespace der extension und nur den Aufruf Ihrer Methode:
Dies hat den Vorteil, halten Sie Ihre Rasiermesser ein wenig sauberer und leicht wiederverwendbar in anderen Ansichten.
Für die Erweiterung
HtmlHelper.ActionLink()
hinzufügen der Namensraum für die LinkExtensions wie diese:using System.Web.Mvc.Html;
InformationsquelleAutor bingles
Können Sie dies tun,
Gerne helfen! Habt einen schönen Tag!
Nicht Sie fehlt eine } vor der letzten ) ?
InformationsquelleAutor dknaack
Dann in Ihrem class-Attribut in HTML, die Sie tun können:
Nur eine andere Art und Weise von @dknaack seine Antwort.. bisschen mehr Generika und weniger Funktionalität zu wiederholen, in Ihrem code.
InformationsquelleAutor KyorCode
In meinem Fall,angenommen ich habe eine Startseite und ein Menü.
Hinzufügen
ViewBag.Active
als Platzhalter in der Home-Seite wie diese:Dann legen Sie es auf Ihre
li
Klasse als Bedingung, um diesen zu aktivieren oder nicht:Dies funktioniert sehr gut mit Bootstrap-4 nav-setup, wo die li hat ein "active" CSS-Klasse " sowie "nav-item"
InformationsquelleAutor Fereydoon Barikzehy
Ich dieses tutorial verwendet, um dies getan, es ist viel einfacher zu verstehen und dauert 2 Minuten
Hightlight Aktiven Menüpunkt
InformationsquelleAutor CSharper