Tengo un objeto de datos anidados para un conjunto de elementos dentro de las categorías. Cada categoría puede contener subcategorías y no hay un límite establecido para la profundidad de las subcategorías. (Un sistema de archivos tendría una estructura similar.) Se ve algo como esto:Recursividad en una vista ASP.NET MVC
class category
{
public int id;
public string name;
public IQueryable<category> categories;
public IQueryable<item> items;
}
class item
{
public int id;
public string name;
}
estoy pasando una lista de categorías para mi punto de vista como IQueryable<category>
. Quiero mostrar las categorías como un conjunto de bloques desordenados anidados (<ul>
). Podría anidar bucles foreach, pero la profundidad de las subcategorías estaría limitada por la cantidad de bloques foreach anidados. En WinForms, he realizado un proceso similar utilizando la recursividad para llenar un TreeView
, pero no he visto ningún ejemplo de uso de la recursividad dentro de una vista ASPX MVC.
¿Puede la recursión hacerse dentro de una vista ASPX? ¿Hay otros motores de vista que incluyan recursividad para la salida de vista?
Cuando escribí esta pregunta, no creo que entendí la diferencia entre '' IQueryable' y IEnumerable'. Usaría 'IEnumerable' ahora ya que la vista no hace ninguna consulta y solo debería estar enumerando los datos. – CoderDennis