ASP.NET Razor - Syntax de code en C# et VB
- Page précédente Introduction à Razor
- Page suivante Variable C# en Razor
Razor prend en charge à la fois C# (C sharp) et VB (Visual Basic).
Les règles principales de syntaxe de Razor en C#
- Le code Razor est encapsulé dans @{ ... }
- Les expressions en ligne (variables et fonctions) commencent par @
- Les instructions de code se terminent par un point-virgule
- Les chaînes de caractères sont entourées de guillemets
- Le code C# est sensible à la casse
- L'extension de fichier C# est .cshtml
Exemple en C#
<!-- Bloc de code en ligne --> @{ var myMessage = "Hello World"; } <!-- Expression ou variable en ligne --> <p>La valeur de myMessage est : @myMessage</p> <!-- Bloc de code multi-lignes --> @{ var greeting = "Bienvenue sur notre site !"; var weekDay = DateTime.Now.DayOfWeek; var greetingMessage = greeting + " Ici à Huston, il est : " + weekDay; } <p>L'accueil est : @greetingMessage</p>
Exécuter l'exemple
Les règles principales de syntaxe de Razor en VB
- Les blocs de code Razor sont entourés de @Code ... End Code
- Les expressions en ligne (variables et fonctions) commencent par @
- Déclarez les variables avec le mot-clé Dim
- Les chaînes de caractères sont entourées de guillemets
- VB est insensible à la casse
- L'extension de fichier VB est .vbhtml
Exemple
<!-- Bloc de code en ligne --> @Code dim myMessage = "Hello World" End Code <!-- Expression ou variable en ligne --> <p>La valeur de myMessage est : @myMessage</p> <!-- Bloc de code multi-lignes --> @Code dim greeting = "Bienvenue sur notre site !" dim weekDay = DateTime.Now.DayOfWeek dim greetingMessage = greeting & " Ici à Huston, il est : " & weekDay Fin du code <p>L'accueil est : @greetingMessage</p>
Exécuter l'exemple
Comment fonctionne-t-il ?
Razor est une syntaxe de programmation simple utilisée pour insérer du code serveur dans des pages web.
La syntaxe Razor est basée sur le cadre ASP.NET, qui est une composante spécialement conçue pour le développement d'applications web du cadre .NET de Microsoft.
La syntaxe Razor vous offre toutes les capacités d'ASP.NET, mais avec une syntaxe simplifiée, ce qui est plus facile à apprendre pour les débutants et plus productif pour les experts.
Les pages web Razor peuvent être décrites comme des pages HTML portant deux types de contenu : le contenu HTML et le code Razor.
Lorsque le serveur lit ce type de page, avant d'envoyer la page HTML au navigateur, il exécute d'abord le code Razor. Ces codes exécutés sur le serveur peuvent accomplir des tâches que le navigateur ne peut pas réaliser, comme accéder à la base de données du serveur. Le code serveur peut créer du contenu HTML dynamique avant que la page ne soit envoyée au navigateur. Du point de vue du navigateur, l'HTML généré par le code serveur est indistinguishable du contenu HTML statique.
Les pages ASP.NET utilisant la syntaxe Razor ont une extension de fichier spéciale cshtml (utilisant la syntaxe Razor en C#) ou vbhtml (utilisant la syntaxe Razor en VB).
Travailler avec des objets
Le code serveur implique souvent des objets.
L'objet "Date" est un objet intégré typique d'ASP.NET, mais il est également possible de définir des objets personnalisés, une page web, une zone de texte, un fichier, un enregistrement de base de données, etc.
Les objets peuvent posséder des méthodes pouvant être exécutées. Les enregistrements de base de données peuvent fournir une méthode "enregistrer", l'objet image peut avoir une méthode "tourner", l'objet e-mail peut fournir une méthode "envoyer", etc.
Les objets peuvent également avoir des propriétés décrivant leurs caractéristiques. Les enregistrements de base de données peuvent avoir des propriétés FirstName et LastName.
L'objet Date d'ASP.NET possède une propriété Now (écrite sous forme de Date.Now), la propriété Now a une propriété Day (écrite sous forme de Date.Now.Day). L'exemple suivant montre comment accéder aux propriétés de l'objet Date :
Exemple
<table border="1"> <tr> <th width="100px">Name</th> <td width="100px">Value</td> </tr> <tr> <td>Day</td><td>@DateTime.Now.Day</td> </tr> <tr> <td>Hour</td><td>@DateTime.Now.Hour</td> </tr> <tr> <td>Minute</td><td>@DateTime.Now.Minute</td> </tr> <tr> <td>Second</td><td>@DateTime.Now.Second</td> </tr> </td> </table>
Exécuter l'exemple
Conditions if et Else
Une des caractéristiques importantes des pages web dynamiques est de déterminer les actions à exécuter en fonction de conditions.
L'une des méthodes courantes pour réaliser cela est d'utiliser des instructions if ... else :
Exemple
@{ var txt = ""; if(DateTime.Now.Hour > 12)} {txt = "Bonsoir";} else {txt = "Bonjour";} } <html> <body> <p>Le message est @txt</p> </body> </html>
Exécuter l'exemple
Lecture des entrées de l'utilisateur
Une autre caractéristique importante des pages web dynamiques est la lecture des entrées de l'utilisateur.
Lecture des entrées par la fonction Request[] et testée par la condition IsPost :
Exemple
@{ 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 nombre:</label><br> <p><input type="text" name="text1" /></p> <p><label for="text2">Deuxième nombre:</label><br> <p><input type="text" name="text2" /></p> <p><input type="submit" value="Ajouter" /></p> </form> <p>@totalMessage</p> </body> </html>
Exécuter l'exemple
- Page précédente Introduction à Razor
- Page suivante Variable C# en Razor