我在 DIV 中有一个水平菜单,我想根据用户在顶部菜单中选择的内容在其下方加载一个菜单(也是水平的)。
现在,我正在根据当前加载的内容页面在母版页中呈现菜单。但是,我不知道如何确定当用户单击其中一个子菜单选项时选择了哪个子菜单选项。
在 ASP.NET 中管理堆叠的水平菜单的最佳方法是什么?
下面将显示带有“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;
}