Использование кода за функцией при нажатии на пункт меню - PullRequest
0 голосов
/ 08 февраля 2019

Я пытался прочитать эту ссылку [ Как вызвать функцию при нажатии на пункт меню?

, который спрашивал о той же проблеме, но я не могучтобы понять, как я должен изменить свой код для достижения этой цели.чего я хочу добиться, так это того, чтобы, когда пользователь щелкнул по пункту меню, он выполнял код функции, доступной на той же странице.

мой код здесь

        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 голосов
/ 08 февраля 2019

Ссылка, которую вы упомянули, не совсем то, что вы хотите сделать.

Вы должны добавить 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);

Вот и все, что должно работать.

...