javascriptasp.netmenuonclickaspmenu

How to set onClick event in ASP Menu MenuItem


I have a dynamically generated menu (C#), like this:

MenuItem(string text, string value, string imageUrl, string navigateUrl, string target)

MenuItem AdminLevel1 = new MenuItem("Admin", "Admin");
MenuItem AdminPedidosRegisto = new MenuItem("Questions", "AdminQ");

NavigationMenu.Items.Add(new MenuItem("Messages Received", "AdminMessagesR", "", "./Admin/Messages.ascx", "ContainerIframe"));

AdminPedidosRegisto.ChildItems.Add(new MenuItem("Pending", "AdminPending", "", "./Admin/Pedidos.ascx", "ContainerIframe"));`

Where ContainerIframe is the iframe's ID and NavigationMenu is the (asp:Menu)'s ID.

I want to set some JavaScript to be executed when I click a MenuItem.

Is there a way?


Solution

  • Thanks to @Manibhadra (this is enough for parent items and child items)

    window.onload = function ()
    {
        var menuTable = document.getElementById("<%=NavigationMenu.ClientID%>");
        var menuLinks = menuTable.getElementsByTagName("a");
        for (i = 0; i < menuLinks.length; i++)
        {
            menuLinks[i].onclick = function () { setInnerHTML('ContainerTittle', this.innerHTML); }
        }
    }