0

我想向一个名为“.current”的 ul.li 导航项添加一个类。所有导航项都位于 _layout.cshtml 中,我有点不知道指定“.current”类的最佳方法是什么。

这是我想要的导航图片(http://i.imgur.com/ng5RA.png):

在此处输入图像描述

请注意,每当用户处于公司->概览或公司->设置中时;我基本上希望将“.current”类添加到名为“Company”的父级 ul.li 项中。这会在该部分的右侧添加视觉提示(白色三角形)。

出于这个原因 ,这个 stackoverflow 线程对我帮助不大。

任何帮助表示赞赏,谢谢!

4

2 回答 2

1

您可以将其基于它自己的 URL,如下所示:

public static IHtmlString MenuLink(this HtmlHelper htmlHelper, string text, string url)
    {
        var link = new TagBuilder("a");
        link.Attributes.Add("href", url);
        string currentUrl = HttpContext.Current.Request.RawUrl;
        if (string.Equals(url, currentUrl, StringComparison.OrdinalIgnoreCase))
        {
            link.AddCssClass("current");
        }

        link.InnerHtml = text;
        return new HtmlString(link.ToString());
    }

你会像这样使用它:

@Html.MenuLink("About", "/home/about")
@Html.MenuLink("Contact", Url.Action("Contact", "Home"))
于 2012-08-22T16:43:32.273 回答
0

您可以使用 JQuery 处理此问题:

$(".current").removeClass("current");
$("#someID").addClass("current");

第一行将从已经拥有的任何东西中删除“当前”类。第二行将“当前”类分配给具有指定 id 的元素。

于 2012-08-22T16:19:14.210 回答