0

「.current」というクラスをul.liナビゲーションアイテムに追加したいと思います。すべてのナビゲーション項目は_layout.cshtmlにあり、「。current」クラスを指定するための最良の方法がわからなくなっています。

これが私の希望するナビゲーションの写真です(http://i.imgur.com/ng5RA.png):

ここに画像の説明を入力してください

ユーザーが[会社]->[概要]または[会社]->[設定]にいるときはいつでも注意してください。基本的に、「。current」クラスに「Company」という親のul.liアイテムを追加したいと思います。これにより、セクションの右側に視覚的な合図(白い三角形)が追加されます。

このため 、このスタックオーバーフロースレッドは、私を完全に助けることができませんでした。

どんな助けでもありがたいです、ありがとう!

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");

最初の行は、「現在の」クラスを既に持っているものから削除します。2 行目は、指定された ID を持つ要素に「現在の」クラスを割り当てます。

于 2012-08-22T16:19:14.210 に答える