1er projet en razor

Nous attaquons notre premier projet en razor comprenant un espace privatif et un espace administration pour le client. pour ce faire nous utilisons le nouveau système de gestion des membres qui est parfaitement optimisé : pas de session anonyme stockée qui engorge la base de données, pas d’utilisation de Guid mais bien de clef primaire en type int. Plus souple pour faire évoluer le système d’ d’accès et  rôles.
Ayant fait également beaucoup de Php, la prise en main de la syntaxe Razor est relativement rapide. Le helper WebGrid est facile à utiliser mais attention si on souhaite le pousser dans ses retranchements. Le helper pour envoyer le mail est également trivial à utiliser pour envoyer de simple email. A voir pour utilisation plus poussée.
 
voici l’exemple de code d’une page index.cshtml
1:  @{
2:      Layout = « ~/Views/_SiteLayout.cshtml »;
3:      Page.Title = « accueil »;
4:  }
5:
6:  <div id= »bloc-filet »>Bonjour
7:
8:  …
9:
10:  </div>

 

La syntaxe présente plusieurs types de sections pour afficher des morceaux de pages. Ainsi on peut déporter tout morceaux de code html redondant, dans le but de l’écrire qu’une seule fois.
1:<!DOCTYPE html
PUBLIC « -//W3C//DTD XHTML 1.0 Strict//EN »
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd »>
2:  <html
xmlns=http://www.w3.org/1999/xhtml
xml:lang= »fr » lang= »fr »>
3:  <head>
4:  <meta http-equiv= »Content-Type »
content= »text/html; charset=utf-8″ />
5:          <title>@Page.Title</title>
6:    @RenderPage(« /Partage/_headerbasecss.cshtml »)
7:   <link href= »@Href(« ~/favicon.ico ») »
rel= »shortcut icon » type= »image/x-icon » />
8:
9:  </head>
10:
11:  <body class= »mbody »>
12:  <div id= »global »>
13:  <div id= »entete »>
14:
15:  ….
16:  </div>
17:  <div id= »contenu »>
18:      @RenderBody()
19:  </div>
20:  <div id= »pied »>
21:      @RenderPage(« /Partage/_footer.cshtml »)
22:  </div>
23:  </div>
24: @RenderPage(« /Partage/_headerbasescripts.cshtml »)
25: @RenderSection(« ClientScriptsEditor »,
required: false)
26:  </body>
27:  </html>
28:
c’est la mission du tag RenderPage. Les pages sont ainsi harmonisées.
Le tag RenderSection permet de faire apparaitre du code que sur certaines pages tout en utilisant le même master. Ce sont des sorte de section conditionnelle.
et enfin le RenderBody affiche le contenu placé dans la page index.cshtml
La fonction Page.Title est définie dans la page index.cshtml mais utilisé pour le titre dans le Layer (master)
Tous les autres fichiers comportent des morceaux de code html qui peuvent être combiné à des conditions gérées par la syntaxe Razor.
Je ne vais pas vous en dire plus pour le moment, je continuerais à vous donner des exemples au fils du temps.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

1 × quatre =