For a project I needed to remove menu items to the pages in the folder 'Subscriberpages' when a the user is in the Role of 'Marketing' and 'AccountManagement'. To do this I added the following code to the MenuItemDataBound event.
protected void mainMenu\_MenuItemDataBound(object sender, MenuEventArgs e) {
SiteMapNode node = e.Item.DataItem as SiteMapNode;
if (node.Url.Contains("*Subscriberpages*")) { if (HttpContext.Current.User.IsInRole("*Marketing*") || HttpContext.Current.User.IsInRole("*AccountManagement'*")) { // Get menu. Menu topMenu = (Menu)sender;
// Remove dataitem from menu. topMenu.Items.Remove(e.Item);
} } }
To generate the menu I used the Web.sitemap and the asp:Menu control.