Introduction

Pour ceux qui ne connaissent pas encore, Razor est un nouveau moteur de vues pour ASP.NET MVC 3. Il a été initialement fourni avec WebMatrix et il permet de remplacer le fameuse syntaxe <%%> avec un modèle de codage plus concis et clair grâce à l’utilisation du caractère @. De plus il fourni quelques fonctionnalités intéressantes pour les Master Page et en même temps vous n’allez pas perdre toutes les fonctionnalités auxquelles vous-vous êtes habitués, comme par exemple les helpers html. Le but est de rendre le designs des vues plus facile.

Plus compacte et plus facile à utiliser

Le but de Razor est de minimiser le nombre de caractères requis à l’écriture d’un fichier de vues et d’introduire une nouvelle manière de coder qui est fluide et rapide. Au contraire de ce qu’on connait déjà, le développeur n’a pas besoin de s’interrompre de coder pour dénoter explicitement les blocs serveur dans le HTML. Le parseur de Razor est assez intelligent afin d’inférer ceci à partir du code.

Razor n’est pas un nouveau langage.

Création d’un simple projet ASP.NET MVC 3

Si vous avez installé la version de ASP.NET MVC 3 RTM vous devez retrouver l’écran suivant après avoir cliqué dans le menu “Fichier/Nouveau projet…”:

image

Cliquez sur “OK”. Dans la fenêtre qui s’ouvre, le moteur de vues Razor est présélectionné par défaut :

image

Cliquez sur “OK” pour valider. Visual Studio génère la solution comme avant. La seule différence est que maintenant nous utilisons le moteur des vues Razor. La structure du projet au niveau du système de fichier est la même qu’avant comme vous pouvez le constater sur l’image ci-dessous:

image

Quelques points à noter :

  • L’extension des vues Razor est .cshtml pour les vues sous C# et .vbhtml pour les vues utilisant VB.NET.
  • Les fichiers qui ne peuvent pas être affichés directement par la requête (les master pages, les vues partiels, etc.) sont précédés par un caractère “_” au début de leur noms. Donc si vous essayez d’afficher _Layout.cshtml qui est une Master Page vous obtiendrez une erreur serveur.
Une vue d’exemple

Voici un exemple de vue Account/LogOn qui est créée avec le Template par défaut de Web application ASP.NET MVC 3. La première image est le code pour le moteur de vues ASPX. La seconde pour Razor.

imageimage

Bien que cela ne soit pas flagrant au premier coup d’œil, la syntaxe de Razor est beaucoup plus épurée. Imaginez les écrans un peu plus compliqués. Je vous assure que Razor facilite bien l’écriture et la lisibilité des vues.

La règle est très simple. Tout ce qui est précédé par le signe “@” est un code côté serveur. Si c’est une structure de langage un peu plus complexe, cela doit être entouré des caractères “{“ et “}”. Dans le post suivant, je constituerai un référentiel de base de la syntaxe de Razor, sans rentrer dans le détails.

Dois-je utiliser Razor ?

Le bénéfice qu’apporte l’utilisation de Razor n’a pas tellement d’effet sur des vues simples. Pour les vues complexes, vous allez remarquer qu’elles sont beaucoup plus lisibles qu’avant. A vous de voir Clignement d'œil

 

// Thomas