2008-12-10 28 views
5

Soy nuevo en MVC y noto que las páginas de vista pueden parecer bastante desagradable con todas las etiquetas de script entremezclados. ¿Tiene sentido generar el código HTML en un método en la vista código subyacente y luego simplemente insertar el resultado de la cadena del método como un solo bit de script?ASP.NET MVC - ¿Puedo usar código subyacente

Por ejemplo: <div><%= GenerateTonsOfHTMLFromSomeIEnumerable() %></div>

Es éste contrario a la filosofía MVC? Tonto por alguna otra razón, como el rendimiento? ¿Tiene algún mérito?

Respuesta

1

OK, marque otro para la curva de aprendizaje. Creo que podría haber encontrado la respuesta a mi propia pregunta ...

ASP MVC permite instalar sus propios motores de vista personalizada que puede utilizar (en lugar del motor vista por defecto de ASP.NET). Para que pueda controlar la generación html. Una vez que sepa qué buscar, es fácil :)

He aquí un buen lugar para empezar: Custom View Engine Example

@Rajesh - Gracias por los buenos enlaces!

0

Puede utilizar el código detrás también. Es solo una cuestión de preferencia de estilo.

10

Es una cuestión de práctica.

Aquí es una lectura interesante.

  1. Codebehind files are evil

  2. Codebehind files are not evil

También hay un interesante artículo de "Rob Conery"

  1. Inline Scripting and Code behind

Entonces, la elección es suya. Depende de la arquitectura de su aplicación, cómo quiere estructurarlo, blah-blah ...

Supongo que la ventaja de las vistas sin código subyacente es que es mucho más fácil cambiar a viewengine diferente que no es compatible con codebehind.

aunque habrá una cierta cantidad de trabajo, pero aún así será mucho más fluida.

1

No lo haría. Solo debe olvidarse del archivo de código subyacente, en serio. De hecho, en MVC Framework RC1 de forma predeterminada no hay un archivo de código subyacente para sus vistas. Cualquiera que sea el procesamiento de C# que desee continuar para representar su vista, puede hacerlo en línea con su HTML. Si está pensando en hacer algo de procesamiento de datos, hágase un favor y póngalo en el controlador.

Este es un cambio de paradigma, lo mejor es simplemente romper sus viejos hábitos ahora.

Cuestiones relacionadas