Razor admite C# (C sostenido) y VB (Visual Basic).
Esta sección explica las reglas de sintaxis de Razor C# y Razor VB.
Los bloques de código Razor están encerrados en @{...}
Las expresiones en línea (variables y funciones) comienzan con @
Finalizar declaraciones de código con un punto y coma
Las variables se declaran usando la palabra clave var.
Cadenas entre comillas
El código C# distingue entre mayúsculas y minúsculas
La extensión del archivo C# es .cshtml
<!-- Bloque de declaración único --> @{ var myMessage = "Hola mundo"; <!-- Expresión o variable en línea --> <p>El valor de myMessage es: @myMessage </p> <!-- Bloque de declaraciones múltiples --> @{var Greeting = "¡Bienvenido a nuestro sitio!";var WeekDay = DateTime.Now.DayOfWeek;var GreetingMessage = Greeting + " Aquí en Huston es: " + día de la semana;} <p>El saludo es: @greetingMessage </p>
Los bloques de código Razor están encerrados en @Code... Código final
Las expresiones en línea (variables y funciones) comienzan con @
Las variables se declaran usando la palabra clave Dim.
Cadenas entre comillas
El código VB no distingue entre mayúsculas y minúsculas
La extensión de los archivos VB es .vbhtml
<!-- Bloque de declaración única --> @Code dim myMessage = Código final "Hola mundo" <!-- Expresión o variable en línea --> <p>El valor de myMessage es: @myMessage </p> <!-- Bloque de declaraciones múltiples --> @Codedim Greeting = "¡Bienvenido a nuestro sitio!" dim WeekDay = DateTime.Now.DayOfWeek dim GreetingMessage = Greeting & " Aquí en Huston es: " & WeekDayEnd Code <p>El saludo es: @greetingMessage </p>
Razor es una sintaxis de programación simple para incrustar código de servidor en páginas web.
La sintaxis de Razor se basa en el marco ASP.NET, una parte del marco Microsoft .NET diseñada específicamente para crear aplicaciones web.
La sintaxis de Razor admite todas las funciones de ASP.NET, pero utiliza una sintaxis simplificada que es más fácil de aprender para los principiantes y más eficiente para los expertos.
Una página web de Razor se puede describir como una página web HTML con dos tipos de contenido: contenido HTML y código Razor.
Cuando el servidor lee la página, primero ejecuta el código Razor antes de enviar la página HTML al navegador. El código ejecutado en el servidor puede realizar tareas que no se pueden completar en el navegador, como acceder a la base de datos del servidor. El código del servidor puede crear contenido HTML dinámico y enviarlo al navegador. Desde la perspectiva del navegador, el HTML generado por el código del servidor no es diferente del contenido HTML estático.
Las páginas web ASP.NET con sintaxis Razor tienen extensiones de archivo especiales cshtml (Razor C#) o vbhtml (Razor VB).
La codificación del servidor a menudo involucra objetos. El objeto "Fecha" es un objeto típico integrado en ASP.NET, pero el objeto también puede ser personalizado, una página web, un cuadro de texto, un archivo, un registro de base de datos, etc. Los objetos tienen métodos para su ejecución. Un registro de base de datos puede tener un método "Guardar", un objeto de imagen puede tener un método "Rotar", un objeto de correo electrónico puede tener un método "Enviar", etc. Los objetos también tienen propiedades que describen sus características. Un registro de base de datos puede tener propiedades Nombre y Apellido.
El objeto Fecha de ASP.NET tiene una propiedad Ahora (escrita como Fecha.Ahora) y la propiedad Ahora tiene una propiedad Día (escrita como Fecha.Ahora.Día). El siguiente ejemplo demuestra cómo acceder a algunas propiedades del objeto de datos:
<table> <tr> <th>Nombre</th> <td>Valor</td> </tr> <tr> <td>Día</td><td>@FechaHora.Ahora.Día </td> </tr> <tr> <td>Hora</td><td>@FechaHora.Ahora.Hora </td> </tr> <tr> <td>Minuto</td><td>@FechaHora.Ahora.Minuto </td> </tr> <tr> <td>Segundo</td><td>@FechaHora.Ahora.Segundo </td> </tr> </td> </table>
Una característica importante de las páginas web dinámicas es que puedes decidir qué hacer según las condiciones.
Una forma común de hacer esto es usar declaraciones if... else:
@{var txt = "";if(DateTime.Now.Hour > 12){txt = "Buenas noches";}else{txt = "Buenos días";}} <html> <body> <p>El mensaje es @txt </p> </cuerpo> </html>
Otra característica importante de las páginas web dinámicas es que puede leer las entradas del usuario.
La entrada se lee a través de la función Solicitud [] y los datos de entrada se transmiten a través de la condición IsPost:
@{var totalMessage = "";if(IsPost){var num1 = Solicitud["text1"];var num2 = Solicitud["text2"];var total = num1.AsInt() + num2.AsInt();totalMessage = "Total = " + total;}} <html> <body style="fondo-color: beige; font-family: Verdana, Arial;"> <form action="" método="post"> <p><label for="text1">Primer número: </label><br> <input type="text" name="text1" /></p> <p><label for="text2">Segundo número:</label><br> <input type= "texto" nombre="texto2" /></p> <p><entrada type="enviar" valor=" Agregar " /></p> </form> <p>@totalMessage </p> </cuerpo> </html>