2014-01-26 115 views
3

我正在用asp.net第一次玩bootstrap 3。我有一個基本的導航丸菜單,您只需添加到已選定的「類=‘主動’」在任何一個導航藥丸,你想,像這樣:設置活動的導航菜單項

<ul class="nav nav-pills"> 
    <li class="active"><a href="#">Home</a></li> 
    <li><a href="#">Profile</a></li> 
    <li><a href="#">Messages</a></li> 
</ul> 

我想知道是否有一個最佳實踐,用於設置哪個LI獲得活動類。我有一個工作解決方案,但感覺笨重。

在標記代碼,我使用的文字:

<li <%=NavHomeItem%> id="HomeItem" ><a href="Default.aspx">Home</a></li> 
<li <%=NavProfileItem%> id="ProfileItem"><a href="Profile.aspx">Profile</a></li> 

在代碼隱藏,我設置的字面基於被請求的頁面:

public String NavHomeItem = ""; 
public String NavProfileItem = ""; 
public String NavMessagesItem = ""; 

private void SetNavigationHtml() 
{ 
    var url = Page.Request.Url.AbsolutePath; 
    switch (url.ToLower()) { 
     case "/profile.aspx": 
      NavProfileItem = "class=\"active\""; 
      break; 
     case "/messages.aspx": 
      NavMessagesItem = "class=\"active\""; 
      break; 
     default: 
      NavHomeItem = "class=\"active\""; 
      break; 
    } 
} 

有沒有更專業處理這個問題的方法?打開任何想法。

回答

0

我在我的一個項目中做了什麼 - 這是一個非常簡單的解決方案,就是在每個頂層視圖的頁面上 - 就像您的案例中的'Home','Profile'一樣,我只是有一個簡單的JQuery片斷,設置具體的藥丸活躍,類似的規定:

$( 「#HomeItem」)addClass( 「活動」)

這樣,設置活動丸,做法完全是客戶端-側。