Ho un oggetto dati nidificato per un insieme di elementi all'interno di categorie. Ogni categoria può contenere sottocategorie e non esiste un limite impostato per la profondità delle sottocategorie. (Un file system dovrebbe avere una struttura simile.) Sembra qualcosa di simile:Ricorsione in 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;
}
sto passando un elenco di categorie a mio punto di vista come IQueryable<category>
. Voglio produrre le categorie come un insieme di blocchi non ordinati nidificati (<ul>
). Potrei annidare foreach loop, ma la profondità delle sottocategorie sarebbe limitata dal numero di blocchi foreach nidificati. In WinForms, ho eseguito un'elaborazione simile utilizzando la ricorsione per popolare uno TreeView
, ma non ho visto alcun esempio di utilizzo della ricorsione in una visualizzazione ASPC MVC.
La ricorsione può essere eseguita all'interno di una vista ASPX? Esistono altri motori di visualizzazione che includono la ricorsione per l'output di visualizzazione?
Quando ho scritto questa domanda, non mi sembra di aver capito la differenza tra '' IQueryable' e IEnumerable'. Userei 'IEnumerable' ora dato che la vista non sta facendo alcuna query e dovrebbe solo enumerare i dati. – CoderDennis