0

私はメインメニュービューを持っています:

    <div class="submenu">
    <ul>
        @foreach (var p in Model)
        {
            <li>
                <div class="manu_bg">
                    @Html.ActionLink(p.Name, "ListProductByGroupID", "Product", new { GroupID = p.GroupCategoryID, GroupName = p.Name }, null)
                </div>
                @{Html.RenderAction("ListCateByGroupID", "Category", new { GroupID = p.GroupCategoryID });
                }
            </li>
        }
    </ul>
</div>

メインビューのサブメニューのビュー:

 @foreach (var i in Model)
    {
        <li>
                @Html.ActionLink(i.Name, "ListProductByCateID", "Product", new { CateID = i.CategoryID, CateName = i.Name }, new { id="link"})  
        </li>    
    }

そして、アクティブなリンクの css クラスを追加するための小さな Javascript:

 window.onload = ActiveLink;
function ActiveLink() {
    var link = document.getElementById("link");
        link.onclick = showActive;
}

function showActive() {
    var selectedlink = this.text;
    var link = document.getElementById("link");
        if (link.text == selectedlink) {
            link.className = " active";
        }
        else { link.className = ""; }


}

JavaScript が機能していませんか?

4

1 に答える 1

0

そのリンクに ID を追加して、見つけられるようにします。

@Html.ActionLink(i.Name, "ListProductByCateID", "Product", new { CateID = i.CategoryID, CateName = i.Name }, new { id = "ListByCatLink" })</div>

次に、ID で選択し、クラスを追加します...

純粋な Javascript を使用:

var link = document.getElementById("ListByCatLink");
link.className = link.className + " active";

またはそれを使用している場合はjQuery:

$("#ListByCatLink").addClass("active");
于 2013-07-29T15:01:00.660 に答える