Не уверен, что это то, что вы ищете, но вот простой способ сделать это.Добавьте событие MenuItemDataBound к элементу управления меню, затем в событии используйте этот код:
if(e.Item.Selected)
{
if(e.Item.Parent != null && e.Item.Parent.Selectable)
{
e.Item.Parent.Selected = true;
}
}
Если вы сделаете это, текущий элемент меню не будет иметь выбранного стиля, поэтому он может испортить ваш всплывающий текст.Выход из подменю.
Если дочерние узлы вообще не отображаются, вы можете попробовать связать что-то вроде этого с MenuDataBound:
var myMenu = (Menu) sender;
var currentNode = SiteMap.Provider.FindSiteMapNode(HttpContext.Current);
if (currentNode != null)
{
var parentMenuItem = myMenu.FindItem("Root/" + currentNode.ParentNode.Title);
if (parentMenuItem != null && parentMenuItem.Selectable)
{
parentMenuItem.Selected = true;
}
}
Другой вариант - отказаться от меню по умолчаниюсценарий и использовать что-то вроде Superfish вместо.