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
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
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 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;
}
}
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>
}
{
<p>Number @i</p>
}
@foreach(var item in myList)
{
<p>Number @item.Number</p>
}
{
<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