void siteMenu_PreRender(object sender, EventArgs e) { //if you want to add your own links to the SiteMenu, //do it here //MenuItem item = new MenuItem("My Item Name", "menuKey","imageUrl","navigateUrl","target"); //you can insert the item //siteMenu.Items.AddAt(0, item); //or add it to a submenu //siteMenu.Items[0].ChildItems.Add(item); //if you add to a submenu - the hierarchy is //Home //--Dynamic Pages //-- --SubDynamic Pages //so everything has to go under "Home" //you can get around that by using "AddAt()", which will insert your links anywhere if (SiteUtility.UserCanEdit()) { MenuItem adminRoot = new MenuItem("Admin", "admin_root"); MenuItem adminSecurityRoot = new MenuItem("Membership", "admin_membership"); MenuItem adminCMSRoot = new MenuItem("CMS", "admin_cms"); MenuItem adminItem = new MenuItem("Users", "admin_users", "", "~/admin/users.aspx", ""); adminSecurityRoot.ChildItems.Add(adminItem); adminItem = new MenuItem("Roles", "admin_roles", "", "~/admin/roles.aspx", ""); adminSecurityRoot.ChildItems.Add(adminItem); adminItem = new MenuItem("Pages", "admin_cms", "", "~/admin/cmspagelist.aspx", ""); adminCMSRoot.ChildItems.Add(adminItem); adminItem = new MenuItem("New Page", "admin_cms_new", "", "~/view/newpage.aspx", ""); adminCMSRoot.ChildItems.Add(adminItem); adminRoot.ChildItems.Add(adminSecurityRoot); adminRoot.ChildItems.Add(adminCMSRoot); //find the "Home" menu //this is a little wonky - but there's just no other way to do it //sorry... foreach (MenuItem item in siteMenu.Items) { if (item.Text == "Home") { item.ChildItems.Add(adminRoot); break; } } } }