mercredi 6 avril 2011

Introduction au moteur de vues RAZOR

Introduction

Une des plus importantes nouveautés de ASP.NET MVC3 est le support du nouveau moteur de vues Razor. Attardons nous quelques instants sur cette nouveauté.

Razor apporte une série d'améliorations à nos vues:

  • La courbe d'apprentissage est particulièrement rapide ; nous appréhenderons plus loin dans cet article la syntaxe de Razor et vous pourrez vous rendre compte par vous-même qu'elle facilite grandement l'apprentissage pour peu qu'on soit familier avec l'ASP.NET classique
  • Cette nouvelle syntaxe minimise clairement le nombres de caractères, rendant par la même occasion le code plus lisible et son écriture plus fluide (plus de nécessité d'indiquer des blocs server)
  • Grâce à Visual Studio 2010 nous avons accès directement à partir de la vue à un intellisense très complet
  • Razor support également les tests unitaires

Syntaxe

@ commence les expressions inline ou les blocs de code, exemple :

@{string myName="Mickael";}
Bonjour, je m'appelle @myName

L'affichage sera : Bonjour je m'appelle Mickael

Pour info, sachez que l'utilisation de @ encode l'output

Pour spécifier de façon explicite ce que Razor doit traiter comme expression il faut ajouter (), exemple :

@{string idProduit="2";}
L'adresse de la fiche produit est : www.monsite.com/FicheProduit.aspx?id_produit=@(idProduit)&mode=1

Sachez qu'en doublant @@ vous échapperez ainsi le 2e @

Pour les if, switch, for et foreach, la syntaxe reste identique au c# une fois que vous avez encapsulé votre code dans @{}

@{
var isGood=true;
if(isGood)
{
    <text>c'est bien!</text>
}
else
{
    <text>c'est pas bien!</text>
}
}

@{
var myColor="rouge";
var copyColor="";
switch(myColor)
{
     case "rouge":
         copyColor = myColor;
         break;

     case "bleu":
         break;

}
}

@for(var i=1 ; i <10 ; i++)
{
     <p>Number @i</p>
}

@foreach(var item in myList)
{
     <p>Number @item.Number</p>
}

Conclusion

Razor est, selon moi, et particulièrement grâce à sa syntaxe et ses parsers un moteur de vues qui atteind son objectif de simplification de code. L'écriture ainsi que la lecture de code deviennent aisées et donc rapides.

Aucun commentaire:

Enregistrer un commentaire