2009-12-08 33 views
1

我想實現我的導航標籤有點像這個網站上的,我聽說這是使用ASP.Net MVC構建的。如果我使用的是stackoverflow.com/users,則「用戶」菜單選項卡爲橙色,而其他所有其他選項保持灰色,如果選擇了其他選項卡,則選項卡會保持灰色。ASP.Net MVC:如何根據我所在的選項卡輕鬆更改導航菜單的選項卡顏色?

我很擅長操作css來改變顏色,當它被徘徊或選擇等等,並在菜單容器中添加/刪除/授權項目,但不熟悉如何更改基於標籤的顏色我正在打開的標籤頁。任何快速和骯髒的方式來完成這個?

回答

2

爲每個頁面的body元素分配一個唯一的id(例如<body id="users">)。在ASP.NET MVC,你可以在你的母版頁body標籤寫的:

<body id="<%= ViewData["bodyId"] %>">

和Controller方法爲每個頁面放像ViewData["bodyId"] = "users";動態分配的每一頁ID。

然後在你的資產淨值的標記,在<一個>標籤鏈接到該頁面指定一個類具有相同的名稱:在CSS

<ul> 
    <li><a href="/users" class="users">Users</a></li> 
    <li><!-- more links --></li> 
</ul> 

然後做這樣的事情:

body#users a.users, body#another-page a.another-page { 
    /* include rules for how you want the current page tab to appear */ 
} 

這會將您的「當前頁面」樣式分配給與身體標記ID匹配的類的任何鏈接標記。

2

除了Bryan提到的,我通常在這種情況下爲我的視圖模型添加一個「CssClass」屬性。這對於CssClass的計算有點複雜的情況也很有用(因爲它可以在VM中測試)。

相關問題