II. Présentation de Razor▲
II-A. Description▲
Couramment, les pages web ASP.NET ont des blocs de code en C# ou en VB.NET au même endroit que des balises HTML en utilisant les délimiteurs :
<%
%>
Parfois, cette combinaison est assez inconfortable pour l'écriture et la délimitation du code qui peut rapidement devenir illisible.
Razor a été conçu pour faciliter la conception des pages ASP.NET. Il introduit une syntaxe de programmation assez facilement compréhensible, qui vous permet d'insérer du code serveur dans une page web qui peut également contenir du HTML, du CSS et des scripts JavaScript.
Le moteur Razor est fluide, compact, expressif et s'appuie sur la syntaxe des langages .NET C# et Visual Basic .NET. Il offre la puissance d'ASP.NET pour la création rapide des applications web fonctionnelles et sophistiquées.
Razor est inclus par défaut dans l'EDI WebMatrix et également dans le Framework .NET ASP.NET MVC 3. Il est pris en charge par Visual Studio 2010, qui offre des fonctionnalités supplémentaires pour la création des pages ASP.NET Razor comme l'IntelliSense, le débogage et la coloration syntaxique.
II-B. Avantages de Razor▲
Le moteur de vue ASP.NET Razor offre les avantages suivants :
- il permet de limiter le nombre de caractères séparant le code serveur du code HTML ;
- il est compact, expressif et fluide. Il réduit drastiquement le code nécessaire à écrire et en facilite la compréhension ;
- il est facile à apprendre, car nécessite peu de concepts à maitriser ;
- ce n'est pas un énième langage. Microsoft a voulu permettre aux développeurs C# et VB.NET de construire des pages HTML facilement ;
- il permet de mettre en place des tests unitaires sans avoir besoin d'un contrôleur ou d'un serveur web ;
- il améliore également l'IntelliSense avec Visual Studio.
II-C. Traitement des pages ASP.NET Razor▲
Lorsque l'utilisateur accède à une page web ASP.NET Razor, le serveur exécute ce code et génère dynamiquement à la volée du code purement HTML qui est envoyé vers le serveur, comme c'est le cas pour les pages ASP.NET standard.
L'exécution du code Razor sur le serveur permet d'effectuer des tâches qui peuvent s'avérer très complexes à faire en utilisant uniquement du contenu client comme l'accès et le traitement de données d'une base de données.
II-D. Extension des pages ASP.NET Razor▲
Razor introduit de nouvelles extensions pour les pages web ASP.NET.
Les fichiers de types .cshtml (pour le langage C#) et .vbhtml (pour le langage VB.NET) sont donc des pages web pouvant contenir du code HTML, JavaScript et CSS tout comme une page HTML normale, sauf qu'ils reposent sur le nouveau moteur de vue Razor et peuvent de ce fait avoir du contenu dynamique.
Nous allons utiliser pour les exemples dans cet article les fichiers .cshtml et la syntaxe de Razor reposant sur C#.