ASP.Net 2.0 : les Master PagesDate de publication : 11/07/2005
Par
Ronald VASSEUR (autres articles) Dans cet article nous allons découvrir une grande nouveauté d'ASP.Net 2.0 : les master pages. Notre but ici ne sera pas d'aller dans le détail mais plutôt d'appréhender ce que cela va changer dans notre façon de concevoir nos sites et quels sont les bénéfices que l'on peut en tirer. Prérequis 1. Le principe de master pages 2. Création d'une master page 3. Création d'une page héritant d'une master page Conclusion Prérequis
1. Le principe de master pages
Une master page est en fait une page qui va contenir des éléments s'affichant
de la même manière sur une partie ou sur la totalité de votre site, et aussi
des éléments variant suivant chaque page du site (contacts, news, téléchargements
).
Une master page va en fait être composée de la partie commune de l'interface pour
un ensemble donné de pages. Avec ASP.Net 1.1 nous étions souvent obligés de faire
un simple copier/coller de certains éléments comme des menus, des logos ou autre
bannière sur chaque page, ici les master pages vont vous autoriser à déterminer
des zones "fixes", une sorte de squelette commun de page, et des zones de
contenu qui vont être différentes selon la page, zones qui seront délimitées par
des ContentPlaceHolder.
Les éléments de la master page seront ainsi créés et disposés dans une page qui portera l'extension .master, ensuite les pages de contenues (content pages) viendront compléter les zones dites de contenu (délimitées par des composants ContentPlaceHolder) sur cette même master page. ![]()
L'avantage immédiat qui découle de cela est que nous n'aurons plus qu'à créer
une seule master page pour intégrer les éléments inchangés (bannière, entête,
menus
) sur une étendue de pages données. De plus, si nous voulons modifier un
élément de l'interface de notre site nous n'aurons qu'à le faire qu'une seule
fois dans la master page, toutes les pages l'utilisant seront ainsi immédiatement
modifiées.
Je le concède volontier, après la lecture de cette seule explication les master pages n'apparaissent peut être pas comme une nouveauté révolutionnaire, mais avec des explications plus concrètes dans les paragraphes suivant vous allez réellement prendre conscience de la souplesse et de la productivité apportées par les master pages. 2. Création d'une master page
Une bonne démonstration valant souvent mieux que de longues explications passons
tout de suite à la pratique. Pour cela vous devez disposer de Visual Studio 2005
Beta 2 ou de Visual Web Developer 2005 Express Edition Beta 2 au minimum.
Tout d'abord vous devez créer une application ASP.Net 2.0, pour cela cliquez sur "File" puis sur "New Web Site", créez alors un projet de type "ASP.Net Web Site". Vous avez alors un site web contenant une page default.aspx. Dans l'explorateur de solution, cliquez avec le bouton droit puis choisissez "Add new item". Choisissez alors "Master Page", donnez lui le nom que vous souhaitez (ici maMasterPage), vous pouvez remarquer qu'elle porte l'extension .master. Enfin, cliquez sur "Add". La fenêtre suivante apparaît alors : ![]() Sélection de la master page
Voici le code d'une master page contenant une ContentPlaceHolder :
Une fois la page créé dans Visual Studio vous n'avez qu'à placer les différents contrôles
sur votre page et vous occuper du design, la seule vraie différence va être que vous
allez placer des contrôles ContentPlaceHolder là où vous souhaitez que le contenu soit
modifiable. En fait, les pages de votre site vont hériter de la master page, elles
hériteront donc du desgin de celle-ci.
Pour simplifier notre exemple nous utiliserons un seul contrôle ContentPlaceHolder, mais sachez que vous pouvez en mettre plusieurs dans une seule et même master page, cela dépendra évidemment de vos besoins. Pour ajouter un ContentPlaceHolder, rien de compliqué, vous avez juste à faire un glisser/déposer depuis la boîte à outil de Visual Studio 2005. Vous avez donc, d'un point de vue design, une page aspx qui est standard, sauf qu'elle contiend des contrôles ContentPlaceHolder. 3. Création d'une page héritant d'une master page
Maintenant que nous avons créé une master page, nous pouvons créer les pages de notre site qui
vont en hériter, pour cela rien de difficile, il suffit juste de créer une nouvelle WebForm, et
de cocher la case "Select master page", à l'étape suivante Visual Studio va vous demander de
sélectionner la master page à utiliser avec cette WebForm. Vous pouvez alors remarquer que
Visual Studio vous affiche une page qui est identique à la master page de laquelle elle
hérite, mais cette fois ci, tout le contenu de la master page est "grisé" et non modifiable,
et vous pouvez par contre modifier le contenu du, ou des ContentPlaceHolder intégré(s) dans
votre page.
Voici donc la démarche détaillée qu'il vous faut suivre : cliquez avec le bouton droit sur votre projet dans l'explorateur de solution, puis sur "Add new item", sélectionnez WebForm, nommez la "accueil.aspx", cochez "Select Master Page". Cliquez sur "Add", une autre fenêtre s'ouvre alors, vous demandant d'indiquer quelle master page vous souhaitez utiliser, sélectionnez "maMasterPage.master". ![]() Sélection de la master page à associer Le code d'une page héritant d'une master page est réduit, il ne contient pas les balises que l'on retrouve dans une page aspx normale, en effet, puisque elles sont déjà présentes dans la master page. Voici une copie du code contenue dans une "page fille" vide :
A cet instant votre explorateur de solution doit correspondre à cette image :
![]() Explorateur de solution
Placez les contrôles et les éléments que vous souhaitez dans la zone ContentPlaceHolder,
enregistrez les modifications. Définissez la page accueil.aspx comme page de démarrage de
votre application , puis appuyez sur F5. Et là miracle !! Votre navigateur s'ouvre et votre page accueil.aspx
s'affiche, elle est composée de votre master page et du contenu de la page accueil.aspx qui en hérite,
c'est-à-dire du contenu du ou des ContentPlaceHolder.
Vous pouvez ainsi créer autant de pages héritant d'une master page que vous le souhaitez, vous retrouvez dès lors le "squelette" de la master page dans chaque "page fille" de celle-ci. Conclusion
Voilà vous venez de créez votre première master page, vous pouvez facilement imaginer les
avantages découlants de cette nouveauté d'ASP.Net 2.0, vous pourrez ainsi avoir une
productivité accrue dans la création et la mise à jour de vos sites. On peut envisager
utiliser les masters pages en tant que modèle, que squelette, de tout ou partie de votre
site, mais aussi, par exemple, pour concevoir différentes versions de pages en fonction
des navigateurs clients.
De plus, on se rend donc compte, que même s'il on utilise une master page, cela ne change quasiment rien des méthodes de travail pour le développeur ou le graphiste dans l'édition de sa page, ce qui est fort appréciable. J'espère qu'au travers de cette courte présentation vous aurez aperçu la puissance et la souplesse que peuvent vous apportez les master pages. Je vous donne d'ores et déjà rendez-vous dans un prochain article. Un grand merci à Pharaonix pour la relecture de cet article.
|
Copyright © 2005 Ronald VASSEUR. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Cette page est déposée.
Copyright © 2000-2012 - www.developpez.com