我想實現我的導航標籤有點像這個網站上的,我聽說這是使用ASP.Net MVC構建的。如果我使用的是stackoverflow.com/users,則「用戶」菜單選項卡爲橙色,而其他所有其他選項保持灰色,如果選擇了其他選項卡,則選項卡會保持灰色。ASP.Net MVC:如何根據我所在的選項卡輕鬆更改導航菜單的選項卡顏色?
我很擅長操作css來改變顏色,當它被徘徊或選擇等等,並在菜單容器中添加/刪除/授權項目,但不熟悉如何更改基於標籤的顏色我正在打開的標籤頁。任何快速和骯髒的方式來完成這個?
我想實現我的導航標籤有點像這個網站上的,我聽說這是使用ASP.Net MVC構建的。如果我使用的是stackoverflow.com/users,則「用戶」菜單選項卡爲橙色,而其他所有其他選項保持灰色,如果選擇了其他選項卡,則選項卡會保持灰色。ASP.Net MVC:如何根據我所在的選項卡輕鬆更改導航菜單的選項卡顏色?
我很擅長操作css來改變顏色,當它被徘徊或選擇等等,並在菜單容器中添加/刪除/授權項目,但不熟悉如何更改基於標籤的顏色我正在打開的標籤頁。任何快速和骯髒的方式來完成這個?
爲每個頁面的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匹配的類的任何鏈接標記。
除了Bryan提到的,我通常在這種情況下爲我的視圖模型添加一個「CssClass」屬性。這對於CssClass的計算有點複雜的情況也很有用(因爲它可以在VM中測試)。