2017-03-21 10 views
0

で親項目と子項目の両方を「選択済み」に設定しました。そのため、選択した子項目とその親のスタイル(StaticSelectedStyle-CssClassとDynamicSelectedStyle-CssClass)を作成するために、次のコードは、スタイルに親のみが発生します。それは彼らの選択した値がtrueに設定されているために、子供とその親アイテムを持っていることも可能asp:Menu

private bool SetSelectedMenuItem(MenuItemCollection menuItems) 
    { 
     foreach (MenuItem item in menuItems) 
     { 
      string url = ResolveUrl(item.NavigateUrl); 
      string pageUrl = Request.RawUrl; 
      if (pageUrl.Equals(url)) 
      { 
       item.Selected = true; 

       if (item.Parent != null) 
       { 
        item.Parent.Selected = true; 
       } 
       return true; 
      } 

      if (SetSelectedMenuItem(item.ChildItems)) 
      { 
       return true; 
      } 
     } 
     return false; 
    } 

ですか?

この作業を行うための助けがあれば素晴らしいと思います!

答えて

1

これはできません。 documentation on the Selected propertyをご覧ください。 [備考]セクションの最後の行には、次のように記載されています。

メニューコントロールでは、一度に1つのメニュー項目しか選択できません。

+0

cssクラスを親アイテムに強制する別の方法はありますか? – Nugs

+0

おそらくjQuery。このポストバックでやっていることすべてがスタイルを設定している場合は、とにかくそれが良い選択肢かもしれません。 –