bien, así que quieren mostrar una lista que contiene las listas de listas de listas ...ASP.NET MVC 3 Razor función recursiva
que no tienen forma de saber cuántos niveles hay que mostrar, por lo que pensé aquí es donde exploto la vieja rutina recursiva.
Tengo problemas con exactamente cómo hacerlo.
Esto es lo que tengo hasta ahora (en la vista - simplificado):
@foreach(MyObject item in @Model.ListOfObjects){
<div> @item.Title </div>
//Call recursive function?
}
Ahora cada uno de estos objetos también tienen un MiObjeto Lista <>. Quiero mostrar cada nivel debajo de este div, con una sangría de pestaña por nivel, por ejemplo.
Estaba pensando que una función Razor sería lo que hay que hacer aquí, pero necesito ayuda para formarla. Aquí está mi pensamiento:
@functions{
public static void ShowSubItems(MyObject _object){
if(_object.ListOfObjects.Count>0){
foreach(MyObject subItem in _object.listOfObjects){
// Show subItem in HTML
ShowSubItems(subItem);
}
}
}
}
Pero como se puede ver, claramente necesito un poco de ayuda :)
¡eso es hermoso gracias! No es que haya algo malo con la otra respuesta, pero esa es de hecho una forma mucho más agradable de hacerlo. – Dynde
queda una cosa que debe llamar a la vista por ** @ ShowTree (Foos) ** – vicky
Esto funciona realmente bien. También puede tener sentido mencionar http://stackoverflow.com/questions/12943245/access-global-page-variable-in-helper para hacer referencia a variables locales en la página cshtml. –