Jiri's Shared IT knowledge

jeudi, juin 09, 2005

Master page dans ASP.NET 2.0

Dans la nouvelle version de ASP.NET, Microsoft va un pas plus loin dans la simplification du design de page. Déjà on voyait ce type d’approche dans des applications comme DotnetNuke ou ASP.Net community portal fonctionnant sous ASP.NET et on appelait cela des thèmes de sites.

Maintenant cette approche de thèmes ou de skining est intégrée dans la logique de base du framework.

Cette approche s’appelle dans la nouvelle version de ASP.NET des mater page.
On design une master page et on laisse les places dynamiques avec des ContentPlaceHolder. Dans la version ASP.NET 1.1 on pouvait le faire avec des PlaceHolder. Toutefois dans la version 2.0 on introduit une nouvelle extension de mage .master qui contient le master page. Voici un exemple de master page :

//Template.master
<%@ master language="C#" %>


Ma page
















Ma compagnie


Navigation
id="ContentPlaceHolder1"
runat="server">









//Default.aspx
<%@ page language="C#" master="~/Template.master" %>
contentplaceholderid="ContentPlaceHolder1"
runat="server">
Je mets mon contenu ici…


Le contenu est généré directement sur les pages aspx. En effet, sur la page default.aspx par exemple qui appelle le master, la page contient toutes les routines de génération de contenu dynamique ou statique.

Il est possible de définir sa page template directement dans web.config comme suit :