2010-11-02 6 views
8

Me gusta la idea de los nuevos complementos jQuery desarrollados por MS, las plantillas y el enlace de datos, y realmente tengo una necesidad en mi trabajo cotidiano en la que posiblemente puedan resultar valiosos. La cosa es que el html que necesitaría para la plantilla es un html no trivial que aprovecha los métodos de ayuda Html incorporados y personalizados a través del framework MVC 2. Además, hay una representación condicional basada en los valores del ViewModel vinculado.posible para asp.net mvc 2 para representar vistas como plantillas jquery-tmpl?

Podría reproducir fielmente la lógica de representación desde la sintaxis de la vista MVC a la sintaxis jquery-tmpl, que incluiría descifrar todo el HTML generado a partir de las funciones auxiliares MVC utilizadas. Sin embargo, esto es tedioso y consume mucho tiempo. Sin mencionar otras preocupaciones como la validación del lado del servidor & y otras funciones auxiliares de HTML como AntiForgeryToken(), aunque tales preocupaciones probablemente podrían ser dejadas de lado al ser inteligente al limitar el uso de jquery-tmpl.

Me pregunto, ¿podemos aprovechar la lógica y la estructura ya definidas por la vista parcial de MVC y hacer que presente una plantilla jquery-tmpl en lugar de HTML directo? A primera vista, parecería que se trata de traducir la sintaxis de la vista MVC a la sintaxis jQuery-tmpl, preservando todos los bucles, condiciones, etc.

¿Esto es posible? No conozco el marco MVC de principio a fin, pero sé que ofrece una gran extensibilidad. Esta situación parece que podría ser valiosa si se descifra, ¿sí? ¿O estoy basado en fuera de juego al pensar eso? ¿Alguna idea o sugerencia?

+0

¡Este tipo de funcionalidad sería INCREÍBLE! – jfar

+0

Estoy bastante intrigado con esta idea ... Yo mismo también he pensado en ello. ¿Podrías publicar más información sobre cómo piensas que funciona? ¿Tal vez algún código y flujos de ruta diferentes para la representación html normal y la representación jquery-tmpl ...? Chur. – Charlino

Respuesta

1

Parece que probablemente desee implementar esto como un ViewEngine personalizado. ViewEngines es conectable en MVC. Un JQuery-Tmpl ViewEngine probablemente solo hablaría JSON con el servidor. Las manchas de marcas de plantillas también se pueden presentar a ViewEngine como los valores de las propiedades secundarias en los mensajes de respuesta. Sería el trabajo de ViewEngine para representar las plantillas y colocarlas en los destinos de la región, etc. Suena inquietantemente familiar ...;)

+0

¿Pueden los motores de visualización intercambiar ViewEngines a pedido por los controladores? Un View Engine personalizado fue mi primer pensamiento, pero no estoy seguro de cuán flexible puede ser su uso. Estoy bastante seguro de que puedes asociar diferentes ViewEngines por cada controlador, pero queremos flexibilidad incluso dentro de un controlador, ¿o no? – kdawg

0

MVC 3 le permite usar múltiples ViewEngines en el mismo sitio.

Cuestiones relacionadas