Heim > Web-Frontend > CSS-Tutorial > Wie füge ich die Klasse „Aktiv' effizient zu ASP.NET MVC-Navigationslinks hinzu?

Wie füge ich die Klasse „Aktiv' effizient zu ASP.NET MVC-Navigationslinks hinzu?

Patricia Arquette
Freigeben: 2024-12-31 21:49:11
Original
211 Leute haben es durchsucht

How to Efficiently Add the

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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

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) &amp;&amp; acceptedControllers.Contains(currentController) ?
    cssClass : string.Empty;
}
Nach dem Login kopieren

Mit dieser Erweiterungsmethode können Sie die aktive Klasse einfach wie folgt zuweisen Syntax:

<li>
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage