see remarks cref c# asp.net asp.net-mvc viewengine

c# - remarks - ¿Qué es View Engine? ¿Qué es lo que hace?



see cref c# (10)

Dos motores de visión:

ASPX

Motor de vistas ASPX, el script del lado del servidor está entre [%%] .ASPX es su extensión.

Maquinilla de afeitar

Razor usamos @. Es posible cambiar entre HTML y código. Razor View Extention .CSHTML y .VBHTML

Empecé a aprender ASP.NET MVC3.

Entonces, mientras leía tutoriales en línea y en libros, me encontré con el término "motor de visualización" con bastante frecuencia. No sé de qué se trata

¿Qué es lo que hace?

¿Por qué debería importarme a mí?


El motor de vistas es responsable de crear HTML a partir de sus vistas. Las vistas son generalmente una especie de confusión de HTML y un lenguaje de programación. El patrón detrás de la mayoría de estos se llama vista en dos pasos .

Por ejemplo, ASP.NET viene con su propio motor de vista fuera de la caja. Ese es el punto donde las vistas tienen muchas etiquetas como <% %> y <%: %> . Utiliza la extensión de archivo .aspx .

Con ASP.NET MVC3, se agregó otro motor de visualización fuera de la caja, Razor , que tiene una sintaxis más atractiva, por ejemplo, <div>@Model.UserName</div> .

La elección del motor de visualización es importante, ya que los conjuntos de características de los motores de visualización son bastante diferentes. Algunos soportan el renderizado de archivos PDF, por ejemplo; algunos no se pueden usar fuera de un contexto web (esto es cierto para el viejo motor de visualización ASP.NET), mientras que otros pueden (por ejemplo, Razor). La visualización "fuera de línea" de las vistas es útil cuando desea crear correos electrónicos HTML de la misma manera que construye sus vistas y esos correos electrónicos deben enviarse desde un trabajador en segundo plano en lugar de desde una aplicación web.

Hay una buena comparación de los motores de vista asp.net aquí en SO.

La buena noticia es que puede usar motores de vistas múltiples en paralelo en ASP.NET MVC, aunque no lo recomendaría a menos que sea necesario.

Ya hay algunos puntos de extensión muy buenos en el motor Razor. Por ejemplo, puede proporcionar una clase base de vista personalizada, un concepto potente que facilita agregar una gran cantidad de funcionalidades en el lugar correcto sin tener que meterse con todos los detalles agresivos que tendría que enfrentar de otra manera.

En este momento iría por Razor.


El motor de visualización es el responsable de representar tu vista y convertir tu código en glorioso HTML. Como tales, son directamente responsables de CÓMO necesitas escribir el código en tus vistas.

Básicamente, hay dos cosas que debes cuidar: ASPX y Razor. Razor es, en mi opinión, mucho más elegante y fácil de usar, a costa de solo ser compatible con MVC3.

Por ejemplo, un bloque de código en ASPX podría verse así:

<% foreach(var item in Model) { %> <tr> <td><%: item.Name %></td> </tr> <% } %>

Mientras que el equivalente Razor se verá así:

@foreach(var item in Model) { <tr> <td>@item.Name</td> </tr> }


En ASP.Net MVC, el motor de Vista es el que funciona entre su vista y el navegador para proporcionar una salida de HTML válida a su navegador considerando la salida proporcionada por su vista. Hay muchos tipos de motores de visualización.

1) ASPX

2) Navaja

3) Chispa

4) NHaml

5) NDJango

6) Hasic

7) Brail


En MVC, el motor de Vista es el que funciona entre su Vista y el navegador para proporcionar resultados HTML válidos a su navegador al compilar el código dentro de su Vista. Hay muchos motores de vista disponibles y algunos de ellos están siguiendo:

  1. ASPX

  2. Maquinilla de afeitar

  3. Chispa

  4. NHaml

  5. NDJango

  6. Hasic

  7. Candaliza

  8. Bellevue

  9. Sharp Tiles

  10. Plantilla de cadena

  11. Wing Beats

  12. SharpDOM

En la actualidad, la mayoría de los desarrolladores prefieren utilizar el motor de visualización Razor, ya que proporciona una forma de programación muy conveniente. Todos estos motores de vista pueden no ser compatibles con ASP.NET MVC.

Para más detalles, puede visitar este artículo .


Hasta ahora, cada respuesta está relacionada con ASP.NET. Si está buscando un motor de vista para nodejs, algunas de las siguientes opciones son:

Jade (Pug) express-handlebars ejs React

Hay una lista completa de ellos que encontré en https://github.com/expressjs/express/wiki#template-engines pero los de arriba parecen ser los que más he escuchado.


Leí una publicación descriptiva en http://questionbox.in/view-engine-asp-net-mvc-razor-view-engine-asp-net-mvc-web-form-aspx-view-engine-asp-net-mvc/

El motor de vista le da la capacidad de renderizar el HTML de su vista al navegador.

Hay muchos motores de vistas compatibles con ASP.NET MVC, pero los motores de vista más utilizados son

  • Motor de vista de formulario web / ASPX.
  • Razor vista del motor.

Motor de vista de formulario web / motor de vista ASPX:

  • Web Form View Engine / ASPX View Engine es el motor de vista predeterminado para el proyecto Asp.net MVC. Está disponible desde MVC 1.0
  • El espacio de nombre para Web Form Engine es Web.Mvc.WebFormViewEngine
  • La extensión de archivo para este motor de vista es similar a la forma web como:

.aspx, para Vistas al igual que las páginas de Formulario Web. .ascx, para Vistas Parciales y Plantilla de Editor al igual que los Controles de Usuario. .master, para Layout y Master Pages al igual que Master Pages en Web Forms.

  • No hay soporte para TDD (desarrollo controlado por prueba).
  • Web Form Engine no previene los ataques XSS significa que cualquier secuencia de comandos guardada en la base de datos se activará mientras se procesa la página
  • Sintaxis: <%: Html.ActionLink ("Inicio", "Índice")%>

Motor Razor View:

  • Razor View Engine es un motor de vista avanzado, disponible con MVC 3.0 y versiones posteriores
  • El espacio de nombre para la vista ASPX Engine es Web.Razor.
  • La Extensión de archivo para este Motor de visualización es .cshtml (Razor C #), para Vistas, Vistas parciales, Plantilla del editor y Páginas de diseño. .vbhtml (Razor VB.NET), para Vistas, Vistas Parciales, Plantilla del Editor y Páginas de Diseño.
  • Admite TDD (desarrollo controlado por prueba).
  • Razor Engine es un poco lento en comparación con Web form Engine.
  • Razor Engine previene los ataques XSS (ataques de secuencias de comandos entre sitios) significa que codifica el script o etiquetas html como <,> antes de renderizar para ver.
  • La sintaxis de Razor es fácil de entender y mucho más limpia que la sintaxis de Web Form. Razor usa el símbolo @ para hacer que el código sea como:

    @ Html.ActionLink ("Inicio", "Índice")


Un motor de visualización es lo que MVC usa para encontrar y representar las vistas que está solicitando desde el controlador. Si está satisfecho con el enrutamiento predeterminado, probablemente no necesitará cambiar nada, pero digamos que quería que los archivos compartidos que generalmente se encuentran en la raíz / vistas / compartidos estén en su lugar en raíz / común, un viewengine personalizado es lo que usted Necesito crear para poder hacer eso.

Aquí puedes ver cómo construir un viewengine:

http://coderjournal.com/2009/05/creating-your-first-mvc-viewengine/

El motor de visualización también es responsable de mostrar la vista, pero como recién está aprendiendo MVC, probablemente no necesite modificar la funcionalidad de renderizado por el momento.


View Engine funciona dentro de la aplicación para mostrar una página HTML al navegador o al usuario. Puede contener etiquetas HTML, controles de servidor y algún lenguaje de programación.

Razor es el motor de vista preferido para el framework MVC4.


View Engine representa la vista en formato HTML para el navegador. Si hablamos de una aplicación MVC en .Net Framework, admite los siguientes 2 motores de visualización:

1. Razor View Engine 2. Web Form / ASPX View Engine

Diferencias: 1. Razor View Engine usa Layouts, pero el motor de vista ASPX usa páginas maestras.

2. Razor View Engine utiliza una página parcial, pero el motor de vista ASPX usa Web User Control.

3. Razor view engine no es un lenguaje, es sintaxis de Markup.

El símbolo 4. @ ''se usa en Razor Engine para escribir el código. Los delimitadores @ Html.ActionLink ("Login", "LoginView") ''<%:'' usan como punto de partida y ''%>'' usan como punto final. Puede escribir el código entre ellos en ASPX Engine.

5. Razor View Engine tiene extensión .cshtml (con C #) y .vbhtml (con VB) para vistas, diseño y vistas parciales. ASPX View Engine tiene una extensión similar a la de una aplicación web simple como .aspx para las vistas, .acsx para UserControls y .master para páginas maestras.