0

次のことを実現するために OOTB AspMenu コントロールを構成する方法を教えてください。

  • クイック起動には、1 レベルの静的アイテムのみを表示する必要があります
  • 見出しを除いて、これらはそれ自体では意味がないため、その下のページ/リンクも表示する必要があります
  • メニューは動的フライアウトを表示すべきではありません

基本的に、ナビゲーション メニューは次のように表示されます (サブサイトの両方に子サイトやページがあり、非表示にする必要があると仮定します)。

Starting Node 
- Subsite1
- Subsite2
- Page1  
- Heading
  - Page2
  - Page3
4

1 に答える 1

0

AspMenu コントロールのプロパティを使用してこの機能を実現する方法が見つからなかったので、代わりに、次のように、 MenuItemDataBoundEvent内のサブサイトの子項目を明示的に削除してサブサイトにしました。

protected void CurrentNavigationMenu_MenuItemDataBound(object sender, MenuEventArgs e)
{
    // Hide the contents of subsites (only level-1 links beneath headings are displayed).
    if (e.Item.Parent != null && e.Item.Parent.Selectable)
        e.Item.Parent.ChildItems.Remove(e.Item);
}
于 2011-04-14T08:46:17.957 に答える