Heim >Web-Frontend >CSS-Tutorial >Wie füge ich die Klasse „Aktiv' effizient zu ASP.NET MVC-Navigationslinks hinzu?
Hinzufügen der aktiven Klasse zu Html.ActionLink
In ASP.NET MVC ist es üblich, die „aktive“ Klasse für Navigationselemente festzulegen um die aktuell aktive Seite anzuzeigen. Das direkte Hinzufügen der Klasse zum Tag ist möglicherweise nicht der gewünschte Ansatz.
Überlegungen zu Bootstrap
Bei Bootstrap wird die aktive Klasse normalerweise auf das <li>-Tag angewendet. Element anstelle des Etikett. Daher sollten Sie Ihren Code so ändern, dass er wie folgt aussieht:
<ul>
Dynamische Klassenzuweisung
Um den Prozess der Zuweisung der aktiven Klasse basierend auf der aktuellen Seite zu automatisieren, Sie können den folgenden Ansatz verwenden:
<ul>
Durch die Verwendung der ViewContext.RouteData.Values-Eigenschaft können Sie dies automatisch tun Bestimmen Sie die aktuelle Aktion und den Controller. Mit dem ternären Operator können Sie die aktive Klasse basierend auf der ausgeführten Aktion bedingt hinzufügen.
HtmlHelper-Erweiterung
Für eine sauberere und elegantere Lösung können Sie eine erstellen HtmlHelper-Erweiterungsmethode:
public static string IsSelected(this HtmlHelper html, string controllers = "", string actions = "", string cssClass = "selected") { // Get the current action and controller string currentAction = html.ViewContext.RouteData.Values["action"].ToString(); string currentController = html.ViewContext.RouteData.Values["controller"].ToString(); // Create arrays of accepted actions and controllers string[] acceptedActions = actions.Trim().Split(',').Distinct().ToArray(); string[] acceptedControllers = controllers.Trim().Split(',').Distinct().ToArray(); // Check if the current action and controller match any of the accepted values return acceptedActions.Contains(currentAction) && acceptedControllers.Contains(currentController) ? cssClass : string.Empty; }
Mit dieser Erweiterungsmethode können Sie die aktive Klasse einfach wie folgt zuweisen Syntax:
<li>
Das obige ist der detaillierte Inhalt vonWie füge ich die Klasse „Aktiv' effizient zu ASP.NET MVC-Navigationslinks hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!