首页 >web前端 >css教程 >如何高效地将'Active”类添加到 ASP.NET MVC 导航链接?

如何高效地将'Active”类添加到 ASP.NET MVC 导航链接?

Patricia Arquette
Patricia Arquette原创
2024-12-31 21:49:11182浏览

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