Quantcast
Channel: Blog de Julien Corioland (MVP) - .NET 4.0
Viewing all articles
Browse latest Browse all 5

[ASP.NET MVC] Surcharger les templates de génération de vues

$
0
0

Le framework ASP.NET MVC 2 fournit un ensemble d’outils qui permettent de générer des vues fortements typées au travers d’un assistant dans Visual Studio.

En effet, pour créer une vue facilement, il suffit de faire un clic droit sur l’un de vos dossiers de vues (ou directement sur une méthode d’un controlleur) et de cliquer sur “Add View…” :

MvcTemplates01

Dès lors, un assistant vous permet de choisir le type de vue que vous souhaitez créer : typée ou non typée, dans le premier cas de l’associer à un type de modèle donné et également de préciser l’opération que vous souhaitez gérer via cette vue (ajouter un élément, l’éditer, voir son détail, voir une liste d’éléments…) :

image

Dans ce cas, nous crééons une vue fortement typé lié au type “BookModel” permettant d’ajouter un enregistrement. Voilà globalement le markup obtenu après génération :

MvcTemplates03

L’outil asp.net mvc met en place la structure de la page en faisant appel au helper html, afin d’afficher les différents champs etc…

Les différents templates proposés par cet assistant sont en fait gouvernés par des templates de code T4 (fichiers .tt) qui facilitent la génération de code. Ces templates sont très facilement surchargeables, à deux niveaux :

=> pour tous vos projets

=> pour chaque projet individuellement (conseillé)

Les templates sont disponibles dans le répertoire C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 2\CodeTemplates :

MvcTemplates04

Vous retrouvez en effet deux dossiers : AddController dans lequel on retrouve le template permettant la génération d’un controlleur capable de réaliser les opération CRUD classiques, ainsi qu’un dossier AddView contenant les templates permettant de générer les différents types de vue :

MvcTemplates05

Si vous souhaitez surcharger ces templates pour tous vos projets, éditez directement ces fichiers, sinon lisez la suite :)

En effet, les outils MVC ont été pensés pour pouvoir surcharger ces templates. Pour se faire, il vous suffit de copier / coller le dossier CodeTemplates et son contenu à la racine de votre projet ASP.NET MVC 2 :

MvcTemplates06

NB : lors de l’ajout, un message de sécurité devrais s’afficher. Cliquez sur Cancel pour ne pas générer les fichiers :

image

Les templates T4 utilisent ce que l’on appel un “Custom Tool” pour générer le code associé au template. Pour MVC, il s’agit du “TextTemplatingFileGenerator”. Comme vous n’êtes pas dans le contexte de l’outil MVC, vous ne pouvez pas l’utiliser tel quel, il vous faut passer par l’interface de création d’une interface.

Pour éviter toute erreur de compilation, sélectionnez tous les fichiers .tt dans l’explorateur de solution et affichez leurs propriétés. Supprimez la valeur “TextTemplatingFileGenerator” dans la section “Custom Tool” :

MvcTemplates08

Une fois supprimez, vous pouvez librement éditer les templates. Par exemple, vous pourriez avoir envie de modifier la balise “h2” affichant le titre de la page pour la remplacer par un div :

MvcTemplates09

NB : Il s’agit ici d’un cas ultra simple. Bien entendu, vous pourriez y ajouter tout type de code qui vous serait utile dans toutes vos pages.

Ici nous avons modifié le template de page “Create”. Dès lors, si nous utilisons l’assistant pour créer une vue de ce type, notre modification doit apparaître et ce sur toutes les pages utilisant le template !

MvcTemplates10

Bref, encore un point d’extensibilité simple et très pratique offert par MVC… :)

Bonne customization ;)


Viewing all articles
Browse latest Browse all 5

Latest Images

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Trending Articles


Long Distance Relationship Tagalog Love Quotes


Tagalog Long Distance Relationship Love Quotes


Winx Club para colorear


Girasoles para colorear


Sapos para colorear


Vacas para colorear


Dromedario para colorear


Love Quotes Tagalog


Mga Tala sa “Unang Siglo ng Nobela sa Filipinas” (2009) ni Virgilio S. Almario


El Vibora (1971) by Francisco V. Coching and Federico C. Javinal


Pangarap Quotes


Gwapo Quotes : Babaero Quotes


Libros para colorear


Mandalas de flores para colorear


Dibujos para colorear de perros


Renos para colorear


mayabang Quotes, Torpe Quotes, tanga Quotes


RE: Mutton Pies (mely)


Ang Nobela sa “From Darna to ZsaZsa Zaturnnah: Desire and Fantasy, Essays on...


Amarula African Gin





Latest Images

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC