将 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中文网其他相关文章!