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