0% encontró este documento útil (0 votos)
10 vistas2 páginas

00 Razor

Razor es un motor de programación basado en C# para vistas en ASP.NET MVC, introducido en la versión 3 y mejorado en la versión 4. Permite la asignación de variables, condiciones y la inclusión de comentarios, además de ofrecer IntelliSense en Visual Studio para facilitar la programación. Las variables se muestran utilizando HTML Encode para prevenir la inyección de código malicioso.

Cargado por

mcdecigm
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas2 páginas

00 Razor

Razor es un motor de programación basado en C# para vistas en ASP.NET MVC, introducido en la versión 3 y mejorado en la versión 4. Permite la asignación de variables, condiciones y la inclusión de comentarios, además de ofrecer IntelliSense en Visual Studio para facilitar la programación. Las variables se muestran utilizando HTML Encode para prevenir la inyección de código malicioso.

Cargado por

mcdecigm
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

RAZOR

En una sintaxis basada en C# (aunque se puede programar en Visual Basic) que permite usarse como motor de programación en
las vistas o plantillas de nuestros controladores. Es una de las novedades de ASP.NET MVC 3.
No es el único motor para trabajar con ASP.NET MVC. Entre los motores disponibles destaco los más conocidos: Spark, NHaml,
Brail, StringTemplate o NVelocity, algunos de ellos son conversiones de otros lenguajes de programación.
Con ASP.NET MVC 4 se ha incorporado nuevas funcionalidades a Razor que simplifican algunas tareas cotidianas. Lo veremos
los últimos días.
También destacar que dispone IntelliSense dentro de Visual Studio con lo que agiliza enormemente programar dentro de las
vistas.

 Código general
 Muestra de variables
 Comentarios

Código general (asignación, condiciones, etc.)


@{ var miVariable = valor; }
@{
var miVariable1 = valor1;
var miVariable2 = valor2;

}

Cada línea debe llevar su; al final de ésta.


Mi recomendación es utilizar var en vez del tipo de dato, siempre que inicialicemos la variable, independiente del tipo.

@{
var mensaje = “”;
if(User.Type == “admin”) {
mensaje = “Administrador del sistema”;
}
else {
mensaje = “Gestor”;
}
}

Muestra de variables
<p>El valor de la variable es @miVariable</p>

Todos las variables que mostremos con @ son parseadas con HTML Encode. Lo que hace es remplazar símbolos <, > o &
por sus correpondientes códigos. De esta manera evitemos que nos introduzcan código mal intencionado que pueda
alterar el comportamiento de nuesto programa.
Si lo que quiere mostrar está dentro de etiquetas HTML (por ejemplo span) se puede escribir

@if(true){
<span>La hora es: @DateTime.Now</span>
}
else
{
<span>Aquí no se debería acceder nunca</span>
}

En caso de que no hubiera etiquetas este código daría error

<span>
@if(true){
La hora es: @DateTime.Now
}
else
{
Aquí no se debería acceder nunca
}
</span>
Porque no sabe si es código HTML o código C#. Para definírselo anteponemos @: (si sólo es una línea) para decirle que es HTML

<span>
@if(true){
@:La hora es: @DateTime.Now
}
else
{
@:Aquí no se debería acceder nunca
}
</span>

O etiquetando el bloque (o una sola línea) de código con <text>

<span>
@if(true){
<text>La hora es: @DateTime.Now</text>
}
else
{
<text>Aquí no se debería acceder nunca</text>
}
</span>

Comentarios
Se usa la etiquetas @* y *@ con el texto dentro.

@* Una línea de comentario *@


@*
Más de una línea de comentario
Puede tener tantas como se necesiten
*@

Dentro de bloques se código también se permite // y /* */


@{
@* Título de la página *@
ViewBag.Title = "Index";
}

@{
// Título de la página
ViewBag.Title = "Index";
}

@{
/* Título de la página
que se visualiza en la parte superior del navegador */
ViewBag.Title = "Index";
}

También podría gustarte