2012-03-14 23 views
16

Recientemente he estado ingresando en MVC3 y Razor, y leyendo varios artículos sobre estos temas para comprender mejor el concepto.Comparación de la sintaxis Razor frente a ASPX

He estado leyendo Scott Guthrie's Blog Post, en el que proporciona los siguientes 2 ejemplos. La primera es la sintaxis ASPX, la segunda sintaxis Razor ser:

enter image description here

enter image description here

Esto es muy bueno, pero como una comparación justa de ASPX y Razor yo soy un poco confundido.

Nunca he visto ningún ejemplo de trabajo de sintaxis ASPX como ese. Seguramente los desarrolladores han usado controles Repeater, etc. desde que ASP.NET fue lanzado? No he visto sintaxis así desde Classic ASP.

Siempre pensé que era una mala práctica poner el código de programación en línea con el archivo de marcado, en lugar del código detrás del archivo.

¿Los desarrolladores de ASP.NET ASPX tienen este código?

Respuesta

11

Creo que definitivamente estás confundido. Su primer ejemplo no es asp.net tradicional. Es lo que el motor de renderizado MVC usaba antes de la maquinilla de afeitar (MVC 1 & MVC 2, que creo que se llama el motor de visualización de WebForms).

Estoy muy seguro de que no puede utilizar un foreach en las páginas ASP.Net tradicionales. (el comentario de Veli me corrigió sobre esto)

Con MVC 3 puede optar por usar el motor de vista Razor que, como puede ver en el ejemplo, es mucho más legible. Por supuesto, con MVC 3 aún puede elegir hacerlo de otra manera, esta es una opción que selecciona al crear el proyecto inicial.

You can read more about the differences here

+0

Saludos, no estaba considerando que esto fuera solo una comparación de MVC. ¡Estaba asumiendo que estaba mostrando la diferencia entre los formularios web aspx y razor mvc! – Curt

+5

Sí, aunque puede usar foreach y lo anterior funcionará bien en una página asp.net "tradicional", no es una buena práctica. –

6

hacer ningún código a los desarrolladores ASP.NET ASPX como este?

I duda it. Los desarrolladores de WebForms clásicos usan controles del lado del servidor, como los repetidores.

Los desarrolladores de ASP.NET MVC, por otro lado, usan esta sintaxis en gran medida. Bueno, en realidad podría usar Display Templates en ASP.NET MVC que le evita escribir feos bucles foreach.

+1

Saludos Estaba empezando a pensar en la sintaxis en línea como esta era común para los formularios web. No había tenido en cuenta MVC1/MVC2 – Curt

0

Siempre pensé que era una mala práctica poner el código de programación en línea con el archivo de marcado, en lugar del código detrás del archivo.

Eso es cierto para C# WinForm/WPF desarrollador que utiliza la arquitectura MVVM. Pero creo que es una buena práctica poner el código de programación en línea en ASP.NET MVC.

-1

No confunda código de programación y código para mostrar una propiedad. Es una mala práctica poner el código de programación en un archivo de marcado. Sin embargo, el código que está mostrando es el código utilizado para hacer el marcado.

MVC debe tratarse como una estructura MVC normal y todo el código lógico debe estar en el controlador.

Cuestiones relacionadas