Если я правильно понял, вы все равно хотите, чтобы родительский элемент показывался, вы просто не хотите, чтобы под ним отображались дети.
Если это так, попробуйте использовать событие OnMenuItemDataBound. Если вы добавите специальный тег к элементам, которые вы не хотите показывать, а затем в вашем методе вы можете сделать что-то вроде следующего.
protected void Menu1_MenuItemDataBound(object sender, MenuEventArgs e)
{
SiteMapNode siteMapNode = (SiteMapNode)e.Item.DataItem;
string visable = siteMapNode["visable"];
if (!string.IsNullOrEmpty(visable) && !bool.Parse(visable))
e.Item.ChildItems.Clear();
}
Это очистит все дочерние заметки, когда меню связано с данными, но будет по-прежнему отображать исходный элемент.
Я собираюсь попробовать это, спасибо. Я дам вам знать, если это сработает. – mattgcon