TOC

This article has been localized into Spanish by the community.

Razor:

Sentencias IF

Cuando estas definiendo marcado HTML en tus Vistas, es extremadamente útil definir sentencias condicionales, para decidir sí una porción de las Vistas será o no interpretada y rendereada (mostrada en la página). La sentencia condicional mas común es la sentencia if y puedes usarla en tu código Razor bastante similar a como lo harías en código C# - solo agrega como prefijo la palabra clave con el operador Razor @ y estás listo para seguir.

La sentencia if

Aquí vemos un ejemplo de una simple sentencia if con Razor - recuerda que esto puede ser incluido directamente en tus Vistas, junto con HTML regular:

@if(DateTime.Now.Year == 2042)
{
    <span>The year 2042 has finally arrived!</span>
}

Como puedes ver, es solo C# mezclado con HTML. Aunque debes estar atento a dos cosas. La primera, en C# regular, puedo omitir las llaves (" { } "), porque solo hay una línea de código como la condición. Esto no es permitido en Razor - no importa cuantas líneas prosigan a tu estructura de control, esas tendrán que estar rodeadas o envueltas por las llaves (" { } "). Segundo punto, nota como cambio directamente de C# a lenguaje de marcado. Esto es posible porque el parser o analizador puede simplemente entender la diferencia entre etiquetas HTML y código C#. En otra mano, sí solamente hubiera escrito una línea de texto, sin etiquetas HTML, el parser o analizador se habría confundido. Para casos como esos, puedes usar las etiquetas <text>, como se describió en artículos pasados.

La sentencia if-else

A veces cuando hay una sentencia "if" también puede haber un "else" y ahí entra también Razor - puedes crear una sentencia if-else justo como lo harías en C#. Aquí un ejemplo:

@if(DateTime.Now.Year >= 2042)
{
    <span>The year 2042 has finally arrived!</span>
}
else
{
    <span>We're still waiting for the year of 2042...</span>
}

Resumen

Usar sentencias if en Razor es muy simple, tal como en C#. En combinación con acceso a otras características de C# como ciclos esto vuelve a RAzor un motor de plantillas muy poderoso para tus páginas ASP.NET MVC.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!