Pregunta

Quiero generar una estructura de menú que se verá así

<ul>
   <li>
      MenuItemName1
      <ul>
        <li>Child Item</li>
      </ul>
   </li>
   <li>
      MenuItemName2
   </li>
</ul>

Tengo una clase menuitem que contiene el nombre, la url y los elementos del menú secundario. Me gustaría crear una vista parcial que muestre cada elemento como una lista desordenada como la anterior y lo llamaría recursivamente para recorrer todo el árbol.

¿Es esta una mala idea? ¿Será muy lento?

¿Fue útil?

Solución

Estoy haciendo esto y no parece particularmente lento, pero no es un sitio de gran volumen. Sería un gran lugar para conectar algo de caché.

Consulte las respuestas a mi pregunta sobre el mismo tema . Creo que el método de extensión HTMLHelper podría funcionar un poco mejor que las vistas parciales anidadas.

Otros consejos

Siempre es una buena idea ser flojo y ahorrarse un trabajo repetitivo.

No debería ser más lento que tener una vista con todos los elementos directamente en él y sin llamadas de renderizado parcial.

No estoy seguro acerca de MVC, pero con ASP.Net 2.0 tradicional si anidaba demasiado los controles de usuario, podría volar la pila. Vi que esto sucedió una vez en más de 10 niveles de anidamiento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top