首頁 >web前端 >css教學 >如何有效率地將「Active」類別新增至 ASP.NET MVC 導覽連結?

如何有效率地將「Active」類別新增至 ASP.NET MVC 導覽連結?

Patricia Arquette
Patricia Arquette原創
2024-12-31 21:49:11180瀏覽

How to Efficiently Add the

將Active 類別加入Html.ActionLink

在ASP.NET MVC 中,通常會在導航元素上設定「active」類別指示目前活動頁面。但是,將類別直接新增到 中會導致錯誤。

Bootstrap 注意事項

對於 Bootstrap,活動類別通常會應用於

<li> 標籤。元素而不是 標籤。因此,您應該將程式碼修改為類似於以下內容:
<ul>

動態類別分配

要自動執行基於目前頁面分配活動類別的過程,您可以使用以下方法:

<ul>

透過使用ViewContext.RouteData.Values屬性,您可以自動確定目前的操作和控制器。三元運算子可讓您根據正在執行的操作有條件地新增活動類別。

HtmlHelper 擴充

為了更乾淨、更優雅的解決方案,您可以建立一個HtmlHelper 擴充方法:

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;
}

此擴充方法讓您可以使用以下方式輕鬆指派活動類別語法:

<li>

以上是如何有效率地將「Active」類別新增至 ASP.NET MVC 導覽連結?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn