您不需要使用會話變量跟蹤的網頁,當你選擇一個菜單項爲,asp.net好心跟蹤您所選擇的項目,並生成自己的CSS類爲你(在大多數情況下)。爲了獲得更好的可視化下載firebug for Firefox並查看HTML輸出,你會發現他們會附加CSS樣式,例如「aspnet.menu selectedItem」,然後創建一個.selectedItem {} CSS類,然後它會自動選取樣式。
但是,如果我記得它可以有點微妙的樣式微軟控制,就好像你檢查輸出的源代碼,它不完全HTML友好。
如果你想使用微軟的做法樣式的菜單項,去這裏http://msdn.microsoft.com/en-us/library/ms366731.aspx
但是有一個叫CSSfriendly http://cssfriendly.codeplex.com/庫呈現純HTML控件,它允許你多少附加CSS類更容易。例如:
.CssAdapterMenu ul.AspNet-Menu /* Tier 1 */
{
width: 961px !important;
cursor:pointer;
background-color:#000000;
}
.CssAdapterMenu ul.AspNet-Menu ul /* Tier 2 */
{
left: 0;
background-color:#f8f8f8;
width: 145% !important;
max-width: 160px !important;
}
.CssAdapterMenu ul.AspNet-Menu ul li:hover /* Tier 2 cell */
{
background: #636363 url(../images/menu_bg_hover.png) no-repeat !important;
}
.CssAdapterMenu ul.AspNet-Menu ul .AspNet-Menu-Selected{
background: transparent url(../images/menu_bg_hover.png) no-repeat !important;
}
.CssAdapterMenu li.AspNet-Menu-WithChildren li .AspNet-Menu-ChildSelected {
background: transparent url(../images/menu_bg_hover.png) no-repeat !important;
}
依此類推等等。這裏有很好的文檔,也是我最喜歡的造型方法。
修改你的代碼,下面我的解釋。
<asp:Menu ID="mainMenu" runat="server" autopostback="true">
<Items>
<asp:MenuItem Text="Home" Value="Home" ></asp:MenuItem>
<asp:MenuItem Text="Pipes" Value="Pipes"></asp:MenuItem>
<asp:MenuItem Text="View & Query" Value="View & Query</asp:MenuItem>
<asp:MenuItem Text="API" Value="API"></asp:MenuItem>
</Items>
<StaticMenuItemStyle CssClass="menuItem" />
<StaticSelectedStyle CssClass="selectedItem" />
<StaticHoverStyle CssClass="hoverItem" />
</asp:Menu>
然後在你的CSS:
.normal{
background-color:#eaeaea;
}
.selected {
background-color:#000000;
}
.hover{
background-color:#FF0000;
}
在MenuItem中有navigationurl? –
是的,我會有 –
你對jQuery感到滿意嗎? – naveen