asp.net menú de enlace de datos multinivel
Actualmente estoy usando un control de menú asp.net para cargar desde una tabla elementos primarios / secundarios. El problema que tengo es que si el niño tiene otro hijo. Mi código es algo estático en ese sentido y parece que no puedo encontrar una mejor o "la" forma de hacerlo. He visto el mapa del sitio como fuentes de datos, pero no necesito un mapa del sitio y creo que sería excesivo para lo que necesito lograr.
foreach (ClassName option in list)
{
MenuItem module = new MenuItem(option.Description.ToLower(), "", "", option.Url + "?option=" + option.Optionid);
module.Selectable = true;
navigation.Items.Add(module);
//this is my second level
foreach (ClassName child in listfromparent(option.Optionid))
{
MenuItem childmenu = new MenuItem(child.Description.ToLower(), "", "", child.Url + "?option=" + child.Optionid);
module.ChildItems.Add(childmenu);
}
}
como puede ver, esto funciona pero para 2 niveles :( y, por supuesto, podría poner otro nivel de niño dentro del niño para crear el 3er nivel, pero ¿qué pasa si hay un 4to, 5to? Entonces, por eso necesito que lo haga por sí mismo. notó que la vista de árbol se ha poblado pero aparentemente Menú no. Gracias de antemano.