2012-06-13 44 views
1

我有2 ASP.NET 4.0菜單控件對頁面上的左側導航卡和子選項卡 & 一個樹控件。如何確保頂級菜單項具有選中CSS類時點擊sun-menu?

我使用選擇CSS類以確保所選選項卡/子選項卡/導航不同顏色

每當我選擇這些控制的項目之一,選擇CSS應用它但家長選擇狀態失去

如何確保頂級菜單項在查看子頁面時具有選定的CSS類別?

主菜單:

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false" /> 

<asp:Menu ID="mainMenu" runat="server" Orientation="Horizontal" 
MaximumDynamicDisplayLevels="0" RenderingMode="Table" 
DataSourceID="SiteMapDataSource1" 
ViewStateMode="Enabled"> 
<StaticMenuStyle CssClass="menu"/> 
<StaticMenuItemStyle CssClass="menuItem"/> 
<StaticSelectedStyle CssClass="menuSelectedItem"/> 
</asp:Menu> 

子菜單:

<asp:SiteMapDataSource ID="SiteMapDataSource2" runat="server" ShowStartingNode="false"  StartingNodeOffset="1"/> 

<asp:Menu ID="Menu1" runat="server" Orientation="Horizontal" 
MaximumDynamicDisplayLevels="0" RenderingMode="Table" 
DataSourceID="SiteMapDataSource2" 
ViewStateMode="Enabled"> 
<StaticMenuStyle CssClass="menu"/> 
<StaticMenuItemStyle CssClass="menuItem"/> 
<StaticSelectedStyle CssClass="menuSelectedItem"/> 
</asp:Menu> 

左側導航:

<asp:SiteMapDataSource ID="SiteMapDataSource3" runat="server" ShowStartingNode="false" 
StartingNodeOffset="2" /> 

<asp:TreeView ID="TreeView1" runat="server" 
DataSourceID="SiteMapDataSource3" 
ExpandDepth="2" NodeIndent="0"> 
<ParentNodeStyle Font-Bold="False" /> 
<HoverNodeStyle ForeColor="#5555DD" /> 
<SelectedNodeStyle BackColor="GhostWhite"/> 
<NodeStyle BackColor="LightSteelBlue"/> 
</asp:TreeView> 

CSS:

.menu 
{ 
    background-color: black; 
    font-size: 12px; 
    font-family: Arial; 
    font-weight: bold; 
} 
.menuItem td 
{ 
    height: 24px; 
    width: 120px; 
    background: url(Images/unselectedTab.jpg) no-repeat; 
    text-align: center; 
    vertical-align: middle; 
} 

.menuSelectedItem td 
{ 
height: 24px; 
width: 120px; 
background: url(Images/selectedTab.jpg) no-repeat; 
text-align:center; 
vertical-align:middle; 
} 
+1

我不認爲有人會讀取儘可能多的代碼 –

回答

0

沒有看過你的代碼,但根據我,如果你想父菜單項選擇,那麼你將在你的代碼,它是沒有得到清除,檢查維護。在腳本中可能會有一些類似的代碼 -

$(this).parent().removeClass("selected"); 

評論這行,如果它存在,並檢查它是否有效與否。如果沒有這樣的事情,那麼你將不得不申請類,如下 -

$(this).parent().addClass("selected"); 

兩個上面的代碼行,你會發現這就是所謂的菜單的點擊裏面的功能。

+0

不,我不使用JQuery ......我簡單地應用CSS。 – Rock