asp.net многоуровневое меню с данными
В настоящее время я использую элемент управления меню asp.net для загрузки из таблицы родительских / дочерних элементов. У меня проблема в том, что если у ребенка есть еще один ребенок. Мой код в этом смысле довольно статичен, и я не могу найти лучший или "лучший" способ сделать это. Я видел карту сайта в качестве источника данных, но мне не нужна карта сайта, и я чувствую, что это будет просто излишним для того, чего мне нужно достичь.
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);
}
}
как вы можете видеть, это работает, но для 2-х уровней :( и, конечно, я мог бы поместить еще один дочерний уровень в дочерний, чтобы создать 3-й уровень, но что, если есть 4-й, 5-й? Так вот почему мне нужно сделать это самому. Treeview имеет заселение, но, видимо, меню нет. Заранее спасибо.