Razor prend en charge à la fois C# (C Sharp) et VB (Visual Basic).
Cette section explique les règles de syntaxe de Razor C# et Razor VB.
Les blocs de code Razor sont entourés de @{ ... }
Les expressions en ligne (variables et fonctions) commencent par @
Terminer les instructions de code par un point-virgule
Les variables sont déclarées à l'aide du mot-clé var
Chaînes entre guillemets
Le code C# est sensible à la casse
L'extension du fichier C# est .cshtml
<!-- Bloc d'instruction unique --> @{ var myMessage = "Hello World" } <!-- Expression ou variable en ligne --> <p>La valeur de myMessage est : @myMessage </p> <!-- Bloc multi-instructions --> @{var Greeting = "Bienvenue sur notre site!";var weekDay = DateTime.Now.DayOfWeek;var GreetingMessage = Greeting + " Ici à Huston, c'est : " + Jourdelasemaine ;} <p>Le message d'accueil est : @greetingMessage </p>
Les blocs de code Razor sont enfermés dans @Code ... End Code
Les expressions en ligne (variables et fonctions) commencent par @
Les variables sont déclarées à l'aide du mot-clé Dim
Chaînes entre guillemets
Le code VB n'est pas sensible à la casse
L'extension des fichiers VB est .vbhtml
<!-- Bloc d'instruction unique --> @Code dim myMessage = "Hello World" End Code <!-- Expression ou variable en ligne --> <p>La valeur de myMessage est : @myMessage </p> <!-- Bloc multi-instructions --> @Codedim Greeting = "Bienvenue sur notre site !" dim weekDay = DateTime.Now.DayOfWeek dim GreetingMessage = Greeting & " Ici à Huston c'est : " & weekDayEnd Code <p>Le message d'accueil est : @greetingMessage </p>
Razor est une syntaxe de programmation simple pour intégrer le code du serveur dans les pages Web.
La syntaxe Razor est basée sur le framework ASP.NET, une partie du framework Microsoft .NET conçue spécifiquement pour la création d'applications Web.
La syntaxe Razor prend en charge toutes les fonctionnalités d'ASP.NET, mais utilise une syntaxe simplifiée, plus facile à apprendre pour les débutants et plus efficace pour les experts.
Une page Web Razor peut être décrite comme une page Web HTML avec deux types de contenu : le contenu HTML et le code Razor.
Lorsque le serveur lit la page, il exécute d'abord le code Razor avant d'envoyer la page HTML au navigateur. Le code exécuté sur le serveur peut effectuer des tâches qui ne peuvent pas être effectuées sur le navigateur, telles que l'accès à la base de données du serveur. Le code serveur peut créer du contenu HTML dynamique et l'envoyer au navigateur. Du point de vue du navigateur, le HTML généré par le code du serveur n'est pas différent du contenu HTML statique.
Les pages Web ASP.NET avec la syntaxe Razor ont des extensions de fichier spéciales cshtml (Razor C#) ou vbhtml (Razor VB).
Le codage du serveur implique souvent des objets. L'objet "Date" est un objet ASP.NET intégré typique, mais l'objet peut également être un objet personnalisé, une page Web, une zone de texte, un fichier, un enregistrement de base de données, etc. Les objets ont des méthodes d'exécution. Un enregistrement de base de données peut avoir une méthode « Enregistrer », un objet image peut avoir une méthode « Rotate », un objet de courrier électronique peut avoir une méthode « Envoyer », etc. Les objets possèdent également des propriétés qui décrivent leurs caractéristiques. Un enregistrement de base de données peut avoir les propriétés FirstName et LastName.
L'objet ASP.NET Date possède une propriété Now (écrite sous la forme Date.Now) et la propriété Now possède une propriété Day (écrite sous la forme Date.Now.Day). L'exemple suivant montre comment accéder à certaines propriétés de l'objet Data :
<table> <tr> <th>Nom</th> <td>Valeur</td> </tr> <tr> <td>Jour</td><td>@DateTime.Now.Day </td> </tr> <tr> <td>Heure</td><td>@DateTime.Now.Hour </td> </tr> <tr> <td>Minute</td><td>@DateTime.Now.Minute </td> </tr> <tr> <td>Deuxième</td><td>@DateTime.Now.Second </td> </tr> </td> </table>
Une caractéristique importante des pages Web dynamiques est que vous pouvez décider quoi faire en fonction des conditions.
Une manière courante de procéder consiste à utiliser les instructions if ... else :
@{var txt = "";if(DateTime.Now.Hour > 12){txt = "Bonsoir";}else{txt = "Bonjour";}} <html> <body> <p>Le message est @txt </p> </body> </html>
Une autre caractéristique importante des pages Web dynamiques est que vous pouvez lire les entrées des utilisateurs.
L'entrée est lue via la fonction Request[] et les données d'entrée sont transmises via la condition IsPost :
@{var totalMessage = "";if(IsPost){var num1 = Request["text1"];var num2 = Request["text2"];var total = num1.AsInt() + num2.AsInt();totalMessage = "Total = " + total ;}} <html> <body style="background-color: beige; font-family: Verdana, Arial;"> <form action="" method="post"> <p><label for="text1">Premier numéro : </label><br> <input type="text" name="text1" /></p> <p><label for="text2">Deuxième numéro :</label><br> <input type= "text" name="text2" /></p> <p><input type="submit" value=" Ajouter " /></p> </form> <p>@totalMessage </p> </body> </html>