Razor
Principales Reglas de sintaxis para C #
- Bloques de código Razor están encerrados en @ {...}
- Expresiones en línea (variables y funciones) comenzar con @
- Declaraciones Código terminan con punto y coma
- Las variables se declaran con la palabra clave var
- Las cadenas se encierran entre comillas
- C # código es sensible a mayúsculas
- Archivos de C # tienen la extensión .cshtml
EJEMPLO
@{ var miMensaje = "Hola Mundo"; }
<p>El valor de miMensaje es: @miMensaje</p>
@{
var saludo = "Bienvenido al Sitio!";
var dia = DateTime.Now.DayOfWeek;
var mensajeSaludo = saludo + " Aqui en Tarija es: " + dia;
}
<p>El Saludo es: @mensajeSaludo</p>
COMO FUNCIONA?
<p>El valor de miMensaje es: @miMensaje</p>
@{
var saludo = "Bienvenido al Sitio!";
var dia = DateTime.Now.DayOfWeek;
var mensajeSaludo = saludo + " Aqui en Tarija es: " + dia;
}
<p>El Saludo es: @mensajeSaludo</p>
COMO FUNCIONA?
Razor es una sintaxis de programación sencillo para incrustar código del servidor de páginas web.
Sintaxis Razor se basa en el marco ASP.NET, la parte del Marco de Microsoft.NET que está diseñado específicamente para la creación de aplicaciones web.
La sintaxis Razor le da todo el poder de ASP.NET, pero utiliza una sintaxis simplificada que es más fácil para saber si usted es un principiante, y te hace más productivo si usted es un experto.
Páginas web de afeitar puede ser descrito como páginas HTML con dos tipos de contenido: contenido HTML y código de la maquinilla de afeitar.
Cuando el servidor lee la página, se ejecuta el código Razor primero, antes de enviar la página HTML al navegador. El código que se ejecuta en el servidor puede realizar tareas que no se pueden hacer en el navegador, por ejemplo, el acceso a una base de datos del servidor. Código del servidor puede crear contenido HTML dinámico sobre la marcha, antes de ser enviada al navegador. Visto desde el navegador, el HTML generado por el código del servidor no es diferente de contenido HTML estático.
Páginas web ASP.NET con sintaxis Razor tienen la cshtml extensión de archivo especial (Razor usando C #) o vbhtml (Razor usando VB).
ASPX
COMO FUNCIONA?
Fundamentalmente una página ASP.NET es lo mismo que una página HTML.
Una página HTML tiene la extensión .htm. Si un navegador solicita una página HTML desde el servidor, el servidor envía la página al navegador sin ninguna modificación.
Una página ASP.NET tiene el .aspx extensión. Si un navegador solicita una página ASP.NET, el servidor procesa cualquier código ejecutable en la página, antes de que el resultado se envía de vuelta al navegador.
La página de ASP.NET anterior no contiene ningún código ejecutable, por lo que nada se ejecuta. En los próximos ejemplos vamos a añadir un poco de código ejecutable a la página de demostrar la diferencia entre páginas HTML estáticas y páginas dinámicas ASP.
Por ejemplo, usando ASPX en una vista podemos hacer lo siguiente:
<%
var name = "Pepe";
%>
<p>Hola, <%= name %></p>
var name = "Pepe";
%>
<p>Hola, <%= name %></p>
RAZOR VS ASPX
ASP.NET MVC utiliza view engines para generar las vistas y desde MVC3 disponemos de dos motores de vistas incluidos para utilizar directamente.
- ASPX: Es el motor de vistas de ASP.NET con tipos personalizados “ViewPage, ViewMasterPage y ViewUserControl” que heredan de los tipos de páginas existentes .aspx, .ascx, .master.
- Razor: Motor de vistas más cercano para los programadores de C# o VB
- Otros:
La principal ventaja de las vistas escritas con Razor respecto a las que usan sintaxis ASPX es que son más concisas, sencillas de codificar, y más legibles. Pero aparte de esto, el resto de aspectos son idénticos a ASPX:
- Tenemos páginas maestras (se llaman "Layouts" en razor).
- El rendimiento va a ser el mismo, poco más o menos.
- El código HTML generado es el mismo (¡el que tú generes!).
- Las rutas, que no tienen absolutamente nada que ver con la sintaxis usada en las vistas, son las mismas. Es decir, usando el sistema de routing (capa Controlador) puedes generar rutas muy limpias y amigables independientemente de la sintaxis que elijas para escribir las vistas.
- El rendimiento va a ser el mismo, poco más o menos.
- El código HTML generado es el mismo (¡el que tú generes!).
- Las rutas, que no tienen absolutamente nada que ver con la sintaxis usada en las vistas, son las mismas. Es decir, usando el sistema de routing (capa Controlador) puedes generar rutas muy limpias y amigables independientemente de la sintaxis que elijas para escribir las vistas.
Muy bueno el articulo, Lastima no haberlo encontrado antes! segun entiendo un motor de vistas es tener html y codigo ejecutable en una misma vista, ¿es como tener codigo php embedido en html?
ResponderEliminar