Motor de visualización de chispa: pasar el modelo a una vista parcial
-
06-07-2019 - |
Pregunta
Me gustaría recorrer la lista y mostrar una vista parcial de cada elemento:
<for each="Element elem in elements">
<render partial="partialViewName">
</for>
¿Cómo debo pasar elem a vista parcial? < render parcial > No tiene parámetros adicionales. Puedo usar html.RenderPartial, pero me gustaría usar la sintaxis de Spark. ¿Es posible? Parece que necesitaba usar el mismo ViewData y no podía definir su propio modelo.
EDIT:
Vista parcial:
${elem.ID}
OK. Puedo usar 'elem' en vista parcial, pero la vista parcial no sabe qué tipo de 'elem' es. Por supuesto, todo funcionará, porque la clase de vista generada se compila, pero no tengo Intellisense en vista parcial.
Solución
< viewdata paramname = " paramtype " / >
Además, nunca usé render, uso < use name = " partialname " param1 = " valor " param2 = " valor " ... / > - Tal vez sea lo mismo que render, no lo sé. Pero definir sus parámetros en viewdata como se muestra arriba también debería funcionar.
También tenga en cuenta < default / > elemento, no para esta pregunta exacta, pero también puede ser útil ya que a veces desearía que algunos parámetros parciales fueran opcionales.
Otros consejos
Bueno, no uso Spark View Engine. Pero parece que <render partial>
tiene parámetros adicionales. Consulte aquí .
Así que supongo que necesita exponer una propiedad en su vista parcial y establecer su valor a través de con * = " " asignaciones .