2012-08-22 83 views
0

我想添加一個類到一個叫做「.current」的ul.li導航項中。所有的導航項目都位於_layout.cshtml中,我有點不知道指定「.current」類的最佳方式。如何從MVC中的ViewPage對Razor佈局進行小改動?

這是我希望的導航的圖片(http://i.imgur.com/ng5RA.png):

enter image description here

注意,只要用戶位於公司 - >概述或公司 - >設置;我基本上希望將「.current」類添加到他們的父級ul.li項目中,名爲「Company」。這增加了該部分右側的視覺提示(白色三角形)。

爲此, this stackoverflow thread,不能幫助我。

任何幫助表示讚賞,謝謝!

+0

這些是動態頁面或者你有一個視圖每頁? – Paul

回答

0

您可以使用jQuery處理這個問題:

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

第一行會從任何已經刪除它「當前」類。第二行將「當前」類分配給具有指定ID的元素。

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")) 
相關問題