將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) && acceptedControllers.Contains(currentController) ? cssClass : string.Empty; }
此擴充方法讓您可以使用以下方式輕鬆指派活動類別語法:
<li>
以上是如何有效率地將「Active」類別新增至 ASP.NET MVC 導覽連結?的詳細內容。更多資訊請關注PHP中文網其他相關文章!