2009-04-28 57 views
0

我在DIV中有一个水平菜单,我想根据用户在顶部菜单中选择的内容加载一个菜单(也是水平的)。根据第一个选项加载底部水平菜单

现在,我正在基于当前加载哪个内容页面的母版页中呈现菜单。但是,我不知道如何确定用户点击其中一个选项时选择了哪个子菜单选项。

在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 2009-04-28 19:41:56