单击菜单项时使用代码隐藏功能

时间:2019-02-08 12:35:16

标签: c# asp.net menuitem

我尝试阅读此链接 [How to call function on menu item click?

这是在问同样的问题,但是我不明白我应该如何修改我的代码来实现这一目标。 我要实现的是,当用户单击菜单项时,它应该执行同一页面上可用功能的代码。

我的代码在这里

        item = new MenuItem();
        item.Text = "  Chart of Account Master";
        item.NavigateUrl = "~/ChartAccount.aspx";
        item.ImageUrl = "Subicon.png";
        Menu1.Items.Add(item);

我想要实现的是。

        item = new MenuItem();
        item.Text = "  Chart of Account Master";
        item.NavigateUrl = myfunction();
        item.ImageUrl = "Subicon.png";
        Menu1.Items.Add(item);

1 个答案:

答案 0 :(得分:0)

您提到的链接并不完全是您想要的。

您必须从菜单中将MenuEventhandler添加到MenuItemClick事件中,然后检查MenuEventArgs中正确的Value

菜单:

<asp:Menu ID="Menu1" runat="server" OnMenuItemClick="Menu1_MenuItemClick">
    <Items>
        <asp:MenuItem Text="First Item" Value="myFirstItemValue" />
    </Items>
</asp:Menu>

MenuEventHandler

protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
{
    if(e.Item.Value == "newMenuItemValue")
        //do stuff;
}

添加菜单项:

MenuItem item = new MenuItem();
item.Text = "new Menu Item";
item.Value = "newMenuItemValue";
Menu1.Items.Add(item);

仅此而已,就可以了。