Link to home
Start Free TrialLog in
Avatar of woodje
woodjeFlag for United States of America

asked on

Adding Child menu to current Menu structure

Hello Experts,

I have a menu I have created below. I need to add a sub menu to one of the items "menunteg". I am having problems with the syntax of adding the child menu to the parent. Can you please help me. Thanks.

Jeff
Menu Collection

MenuItem menuadmin = new MenuItem();
            MenuItem menuasc = new MenuItem();
            MenuItem menucpni = new MenuItem();
            MenuItem menugu = new MenuItem();
            MenuItem menuimports = new MenuItem();
            MenuItem menuinsight = new MenuItem();
            MenuItem menunteg = new MenuItem();            
            MenuItem menunws = new MenuItem();
            MenuItem menupfo = new MenuItem();
            MenuItem menuqa = new MenuItem();
            MenuItem menuqwest = new MenuItem();
            MenuItem menureports = new MenuItem();
            MenuItem menuroamex = new MenuItem();
            MenuItem menusocial = new MenuItem();
            MenuItem menutt = new MenuItem();

            menuadmin.Text = "Admin";
            menuadmin.NavigateUrl = "~/secure/admin/default.aspx";
            menuasc.Text = "ASC";
            menuasc.NavigateUrl = "~/secure/asc/default.aspx";
            menucpni.Text = "CPNI";
            menucpni.NavigateUrl = "~/secure/cpni/default.aspx";
            menugu.Text = "GU";
            menugu.NavigateUrl = "~/secure/gu/default.aspx";
            menuimports.Text = "Imports";
            menuimports.NavigateUrl = "~/secure/imports/default.aspx";
            menuinsight.Text = "InSight";
            menuinsight.NavigateUrl = "~/secure/insight/default.aspx";
            menunteg.Text = "NTEG";
            menunteg.NavigateUrl = "~/secure/nteg/default.aspx";            
            menunws.Text = "NWS";
            menunws.NavigateUrl = "~/secure/nws/default.aspx";
            menupfo.Text = "PFO";
            menupfo.NavigateUrl = "~/secure/pfo/default.aspx";
            menuqa.Text = "QA";
            menuqa.NavigateUrl = "~/secure/qa/default.aspx";
            menuqwest.Text = "QWest";
            menuqwest.NavigateUrl = "~/secure/qwest/default.aspx";
            menureports.Text = "Reports";
            menureports.NavigateUrl = "~/secure/reports/default.aspx";
            menuroamex.Text = "RoamEx";
            menuroamex.NavigateUrl = "~/secure/roamex/default.aspx";
            menusocial.Text = "Social";
            menusocial.NavigateUrl = "~/secure/social/default.aspx";
            menutt.Text = "Trouble Tickets";
            menutt.NavigateUrl = "~/secure/tt/default.aspx";

            MenuItemCollection menucollect = new MenuItemCollection();
            menucollect.Add(menuadmin);
            menucollect.Add(menuasc);
            menucollect.Add(menucpni);
            menucollect.Add(menugu);
            menucollect.Add(menuimports);
            menucollect.Add(menuinsight);
            menucollect.Add(menunteg);            
            menucollect.Add(menunws);
            menucollect.Add(menupfo);
            menucollect.Add(menuqa);
            menucollect.Add(menuqwest);
            menucollect.Add(menureports);
            menucollect.Add(menuroamex);
            menucollect.Add(menusocial);
            menucollect.Add(menutt);

            return menucollect;

Open in new window

Avatar of Carl Tawn
Carl Tawn
Flag of United Kingdom of Great Britain and Northern Ireland image

You just need to hold a reference to the parent item and add to its ChildItems collection:

MenuItem menu = new MenuItem("Top-Level");

menu.ChildItems.Add(new MenuItem("Child 1"));
menu.ChildItems.Add(new MenuItem("Child 2"));

Open in new window

or
'parent
Dim item As New MenuItem
item.Text  = something
Menu1.Items.Add(item)

'child
Menu1.Items(0).ChildItems.Add(item)
Refer below article. It gives a good explanation plus example for your reference regarding Adding Menu Items Programmatically.

http://authors.aspalliance.com/aspxtreme/webforms/controls/addingmenuitemsprogrammatically.aspx 
Avatar of woodje

ASKER

Carl tawn,

Thanks for the quick response. I have added your code and I now see the sub menu items but how do I set the text and the NavigateUrl?
i thought you will have that issue and that is the reason i gave that URL for further info.

ANyway hope this helps



MenuItem parentMenuItem= new MenuItem ( menuitemText, menuItemValue );
parentMenuItem.NavigateUrl = webPageUrl;
menuObject.Items.Add ( parentMenuItem);

MenuItem newItem = new MenuItem ( menuitemText, menuItemValue );
newItem.NavigateUrl = webPageUrl;
parentMenuItemObject.ChildItems.Add ( newItem );

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of Carl Tawn
Carl Tawn
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
@carl_tawn

better explanation and example then i provided.
Avatar of woodje

ASKER

Thank you