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 имеет заселение, но, видимо, меню нет. Заранее спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос