2009-04-28 11 views
0

DIVに水平メニューがあり、トップメニューでユーザーが選択したものに基づいて、その下にメニューを読み込みます(水平にする)。最初の選択に基づいて下部の水平メニューを読み込みます

現在、どのコンテンツページが現在読み込まれているかに基づいて、マスターページのメニューをレンダリングしています。しかし、私はどのサブメニューオプションがユーザーがそれらの1つをクリックしたときに選択されたか把握する方法を知らない。

ASP.NETのスタックされた水平メニューを管理する最適な方法は何ですか?

答えて

0

メインメニューに 'A'と 'B'、サブメニューに 'A-1'/'A-2'または 'B-1'/'B-2'どのサブメニュー項目が選択されたかを示します。それはあなたが意味することですか?

<div> 
    Main menu: 
    <asp:Menu ID="menu1" runat="server" Orientation="Horizontal"> 
     <Items> 
      <asp:MenuItem Text="A"> 
      <asp:MenuItem Text="B"> 
     </Items> 
    </asp:Menu> 
</div> 
<div> 
    Sub menu: 
    <asp:Menu ID="menu2" runat="server" Orientation="Horizontal"> 
    </asp:Menu> 
</div> 
<div> 
    Selected sub menu item: 
    <asp:Label ID="lbl1" runat="server"> 
</div> 

protected void Page_Init(object sender, EventArgs e) 
{ 
    menu1.MenuItemClick += 
     new MenuEventHandler(menu1_MenuItemClick); 
    menu2.MenuItemClick += new MenuEventHandler(menu2_MenuItemClick); 
} 

void menu1_MenuItemClick(object sender, MenuEventArgs e) 
{ 
    menu2.Items.Clear(); 
    menu2.Items.Add(new MenuItem(e.Item.Text + "-1")); 
    menu2.Items.Add(new MenuItem(e.Item.Text + "-2")); 
} 

void menu2_MenuItemClick(object sender, MenuEventArgs e) 
{ 
    lbl1.Text = e.Item.Text; 
} 
+0

ニース。これにロールチェックを追加する方法と、現在選択されているメニュー項目を強調表示する(ラベルを表示する) – Caveatrob

関連する問題