2016-08-09 25 views
1

メニューのサイトマップナビゲーションを使用しています。ページナビゲーションが正常に機能していますが、サブメニュー項目の選択時に親メニューが強調表示されません。私は試みたが、していないASP.Netメニューコントロールがサブメニュー項目の選択時に親メニューをハイライト表示しない

<?xml version="1.0" encoding="utf-8" ?> 
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > 

    <siteMapNode url="" title="" description=""> 
<siteMapNode url="" title="EMPLOYEES" description="Employees Page"> 
     <siteMapNode url ="" title="New Employee" description=""></siteMapNode> 
     <siteMapNode url ="" title="Edit Details" description=""></siteMapNode> 
     <siteMapNode url ="" title="Calender" description=""></siteMapNode> 
      <siteMapNode url ="employees/Benefits.aspx" title="Benefits" description=""> 
      <siteMapNode url ="employees/Vehicle.aspx" title="Vehicle" description=""></siteMapNode> 
      <siteMapNode url ="employees/Loan.aspx" title="Loan" description=""></siteMapNode> 
      <siteMapNode url ="" title="Accomodation" description=""></siteMapNode> 
      <siteMapNode url ="" title="Medical Insuarance" description=""> 
       <siteMapNode url ="" title="Annual" description=""></siteMapNode> 
       <siteMapNode url ="" title="One-Off" description=""></siteMapNode> 
      </siteMapNode> 

     </siteMapNode> 
</siteMap> 

- は私が書いたコードは、サイトマップが似ているmaster.csページのコードで

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

       <asp:Menu ID="Menu" runat="server" DataSourceID="SiteMapDataSource1" Orientation="Horizontal" 
        OnMenuItemDataBound="OnMenuItemDataBound"> 
        <StaticMenuStyle BorderStyle="None" /> 
        <staticselectedstyle backcolor="Green" borderstyle="Solid" bordercolor="Black" borderwidth="1"/> 
        <StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" BorderStyle="Solid" 
         BorderColor="White" BorderWidth="1px" /> 
        <DynamicHoverStyle BackColor="#5E2433" ForeColor="White" /> 
        <DynamicMenuStyle BorderColor="#666666" Width="155px" BackColor="#EFEDED" /> 
        <DynamicSelectedStyle BackColor="#5D7B9D" /> 
        <DynamicMenuItemStyle Width="155px" BorderColor="White" BorderStyle="Solid" BorderWidth="1px" 
         HorizontalPadding="5px" VerticalPadding="2px" /> 
        <StaticHoverStyle BackColor="#5E2433" ForeColor="White" /> 
       </asp:Menu> 

は -

protected void OnMenuItemDataBound(object sender, MenuEventArgs e) 
     { 
if (SiteMap.CurrentNode != null) 
      { 
       if (e.Item.Text == SiteMap.CurrentNode.Title) 
       { 
        if (e.Item.Parent != null) 
        { 
         e.Item.Parent.Selected = true; 
        } 
        else 
        { 
         e.Item.Selected = true; 
        } 
       } 
      } 
} 

below-言及されていますサブメニュー項目の選択時に親メニューを強調表示することができる。 ご協力いただければ幸いです。

答えて

1

コードは正しいです。どうやら、コードは選択されたメニュー項目にのみ「選択された」クラスを割り当てます。選択したアイテムのスタイルを設定するには、独自のCSSを作成する必要があります。それ以外のコードは正しいです。

#Menu1 ul li a.selected{ 
    border:1px solid blue; 
    background-color:blue !important; 
    color:white; 
} 

あなたのコードは実際に私が私の '選択' の問題を解決する助け:)

関連する問題