2011-01-15 6 views
35

¿Hay alguna diferencia entre Razor y ASPX en un proyecto de MVC?¿Cuál es la diferencia entre Razor y ASPX?

¿Es solo cuestión de sintaxis? Eso es lo que creo después de reading this ... ¿Estoy equivocado?

+1

mira este [artículo] (http://www.dotnet-tricks.com/Tutorial/mvc/91JM151212-Difference-Between-Razor-View-Engine-and-ASPX-View-Engine.html) tabla de distinción – xameeramir

Respuesta

15

Supongo que se reduce a eso, sí.

Como puede ver en los ejemplos del artículo, la sintaxis es muy ligera y el intérprete es bastante "inteligente".

Puede compararlo con el motor de vista de chispa y ver las diferencias entre los tres.

3

Razor es un motor de vista alternativo para las aplicaciones Asp.net MVC, y se implementa con un código completamente diferente a .aspx. Es como la diferencia entre JSP y Velocity en una aplicación web Java MVC.

23

que todo se reduce a sintaxis en su página web vista, pero ASPX y Razor son bastante diferentes motores de vista. Razor no depende de la misma canalización que ASPX. Por eso, consideraría que Razor es solo un motor de análisis sintáctico.

Una de las ventajas de eso es que puede hacer que un analizador Razor se ejecute en cualquier cadena, donde aspx necesita un httpcontext y otros elementos de peso pesado.

5

apoyo de afeitar de la prueba de conducción del desarrollo ..... mientras que en el motor web que tiene la clase .página System.Web.UI no es compatible con TDD. El desarrollo impulsado por pruebas significa probar el código de una manera anterior a la escritura.

0

En mi opinión, creo que Razor es Microsoft moviéndose para recoger todos los desarrolladores ASP clásicos que dejaron atrás cuando presentaron .NET. El paradigma es muy similar a ASP, código del lado del servidor entremezclado con html/js del lado del cliente. Un entorno propicio, una vez más, al dilema del "código de spaghetti".

Pero para desarrolladores de ASP de mucho tiempo, como yo, era la ruta más directa hacia una plataforma compatible. Y conservo el control absoluto de los html/js a los que estoy acostumbrado.

Edit: BTW .... Estoy hablando de Razor como se usa en .cshtml. Probablemente debería haber dicho que .cshtml está más moviéndose.

2
  1. Por defecto, la maquinilla de afeitar del motor evita los ataques XSS (Cross-Site Scripting) Ataca significa que codifica las etiquetas de script o HTML como <,> antes de renderizar para ver.
  2. Razor Soporte del motor TDD (prueba de desarrollo) ya que no depende de la clase System.Web.UI.Page.
Cuestiones relacionadas