У меня есть вложенный объект данных для набора элементов внутри категорий. Каждая категория может содержать подкатегории, и нет предела ограничения глубины подкатегорий. (Файловая система будет иметь аналогичную структуру.) Это выглядит примерно так:
class category
{
public int id;
public string name;
public IQueryable<category> categories;
public IQueryable<item> items;
}
class item
{
public int id;
public string name;
}
Я передаю список категорий в мое представление как IQueryable<category>
. Я хочу вывести категории как набор блоков вложенных неупорядоченных списков (<ul>
). Я мог бы вложить петли foreach, но тогда глубина подкатегорий будет ограничена количеством вложенных блоков foreach. В WinForms я выполнил аналогичную обработку с использованием рекурсии для заполнения TreeView
, но я не видел примеров использования рекурсии в представлении ASPX MVC.
Можно ли выполнить рекурсию в представлении ASPX? Существуют ли другие механизмы просмотра, которые включают рекурсию для вывода вида?