Pages maîtres ASP.NET

Les pages maîtres ASP.NET vous permettent de créer une disposition cohérente des pages de votre application. Une page maître unique définit l'apparence et le comportement standard que vous souhaitez pour toutes les pages (ou groupe de pages) de votre application. Vous pouvez ensuite créer des pages de contenu individuelles comportant les éléments que vous souhaitez afficher. Lorsque les utilisateurs demandent les pages de contenu, elles fusionnent avec la page maître pour générer une sortie qui associe la disposition de la page maître aux éléments de la page de contenu.

Pages maîtres et modèles Web dynamiques

Les pages maîtres et les modèles Web dynamiques vous permettent de créer une disposition cohérente qui peut être facilement mise à jour dans toutes les pages de votre site. Si vous travaillez avec des fichiers ASP.NET, utilisez des pages maîtres pour définir une apparence cohérente du contenu partagé entre les pages. Si vous travaillez avec des fichiers HTML, utilisez des modèles Web dynamiques.

Pages maîtres

Modèles Web dynamiques

À utiliser avec des fichiers .aspx

À utiliser avec des fichiers .htm ou .html

Le contenu maître et le contenu de la page sont fusionnés sur le serveur lorsque la page est demandée

Le contenu du modèle existe dans toutes les pages basées sur le modèle et doit être mis à jour dans toutes les pages lorsque le modèle est mis à jour

Le contenu d'une page individuelle doit être compris entre les balises <asp:contentplaceholder> et </asp:contentplaceholder>

Le contenu d'une page individuelle doit être compris entre les balises <!-- #BeginEditable --> et <!-- #EndEditable -->

Avantages des pages maîtres pour les fichiers ASP.NET

Les pages maîtres fournissent des fonctionnalités traditionnellement créées en copiant plusieurs fois le code, le texte et les éléments de contrôle existants ; en utilisant des jeux de frames, des fichiers Include pour les éléments courants, des contrôles utilisateur ASP.NET, etc. Les avantages des pages maîtres sont les suivants :

  • ils vous permettent de centraliser les fonctionnalités communes de vos pages afin que vous puissiez effectuer des mises à jour dans un seul emplacement ;

  • ils facilitent la création d'un ensemble de contrôles et de code et appliquent les résultats sur un ensemble de pages. Par exemple, vous pouvez utiliser les contrôles de la page maître pour créer un menu qui s'applique à toutes les pages ;

  • ils vous offrent un contrôle précis sur la disposition de la dernière page en vous permettant de surveiller comment les contrôles réservés sont affichés ;

  • ils fournissent un modèle d'objet qui vous permet de personnaliser la page maître dans les pages de contenu individuelles.

Mode de fonctionnement des pages maîtres

Les pages maîtres se composent réellement de deux parties, la page maître elle-même et une ou plusieurs pages de contenu.

Pages maîtres

Une page maître est un fichier ASP.NET possédant l’extension .master (par exemple, MonSite.master) avec une disposition prédéfinie pouvant inclure du texte statique, des éléments HTML et des contrôles serveur. La page maître est identifiée par une directive @ Master spéciale qui remplace la directive @ Page utilisée pour les pages .aspx ordinaires.

Outre la directive @ Master, la page maître contient également tous les éléments HTML de niveau supérieur d’une page tels que html, head et form. Par exemple, sur la page maître, vous pouvez utiliser un tableau HTML pour la disposition, un élément IMG pour le logo de votre société, du texte statique pour le copyright et des contrôles serveur pour créer la navigation standard de votre site. Vous pouvez utiliser tous les éléments HTML ASP.NET dans votre page maître.

Outre le texte statique et les contrôles qui apparaissent sur toutes les pages, la page maître inclut également un ou plusieurs contrôles ContentPlaceHolder . Ces contrôles réservés définissent des zones où le contenu remplaçable apparaîtra. Ensuite, le contenu remplaçable est défini dans les pages de contenu.

Pages de contenu

Définissez le contenu des contrôles réservés de la page maître en créant des pages de contenu individuelles qui sont des pages ASP.NET (fichiers .aspx et, éventuellement, des fichiers code-behind) liées à une page maître spécifique.

Une fois les contrôles Content créés, ajoutez-y du texte et d’autres contrôles.

Comportement à l’exécution des pages maîtres

Au moment de l'exécution, ISS gère les pages maîtres dans l'ordre suivant :

  1. les utilisateurs demandent une page en entrant l'URL de la page de contenu.

  2. Lorsque la page est atteinte, la directive @ Page est lue. Si la directive référence une page maître, cette dernière est également lue. Si les pages sont demandées pour la première fois, elles sont toutes les deux compilées.

  3. La page maître et le contenu mis à jour sont fusionnés dans l'arborescence du contrôle de la page de contenu.

  4. Le contenu des contrôles Content individuels est fusionné dans le contrôle contentplaceholder correspondant de la page maître.

  5. La page fusionnée obtenue est affichée dans le navigateur.

Du point de vue de l'utilisateur, les pages maîtres et de contenu associées forment une page unique et discrète. L'URL de la page est celle de la page de contenu.

Référencement des ressources externes

Les pages maîtres et de contenu peuvent contenir des contrôles et des éléments qui référencent des ressources externes. Par exemple, ces deux pages peuvent contenir des contrôles d'image qui référencent des fichiers image, ou encore des ancres qui référencent d'autres pages.

Le contexte des pages maîtres et de contenu fusionnées est celui de la page de contenu. Cela peut affecter la manière de spécifier les URL des ressources, par exemple les fichiers image et les pages cibles, dans les ancres.

Contrôles serveur

Dans les contrôles serveur des pages maîtres, ASP.NET modifie de manière dynamique les URL des propriétés qui référencent des ressources externes. Par exemple, vous pouvez placer un contrôle Image sur une page maître et affecter à sa propriété ImageUrl une valeur relative par rapport à la page maître. Au moment de l'exécution, ASP.NET modifie l'URL afin qu'elle soit correctement résolue dans la page de contenu.

ASP.NET peut modifier les URL dans les cas suivants :

  • l'URL est une propriété d'un contrôle serveur ASP.NET ;

  • la propriété est marquée en interne dans le contrôle comme étant une URL. La propriété est marquée avec l'attribut UrlPropertyAttribute. En pratique, les propriétés du contrôle serveur ASP.NET couramment utilisées pour référencer des ressources externes sont marquées de cette manière.

Autres éléments

ASP.NET ne peut pas modifier les URL des éléments qui ne sont pas des contrôles serveur. Par exemple, si vous utilisez un élément IMG d’une page maître et si vous avez affecté son attribut src à une URL, ASP.NET ne modifie pas cette dernière. Dans ce cas, l'URL sera résolue dans le contexte de la page de contenu et créée en conséquence.

En général, lorsque vous travaillez avec les éléments des pages maîtres, il est recommandé d'utiliser un contrôle serveur, même pour les éléments qui ne requièrent pas de code serveur. Par exemple, au lieu d’utiliser un élément IMG, utilisez un contrôle serveur Image. Ainsi, ASP.NET peut résoudre des URL correctement, ce qui peut vous éviter des problèmes de maintenance qui risquent de survenir si vous déplacez la page maître ou de contenu.

Aide sur l’utilisation des pages maîtres

Pour plus d’informations sur les pages maîtres, voir les rubriques ASP.NET suivantes dans MSDN Library :

Vue d'ensemble des pages maîtres ASP.NET

Événements dans les pages maîtres et de contenu ASP.NET

Utilisation des pages maîtres ASP.NET par programme

Voir aussi

Concepts

Créer une page maître

Créer une page à partir d’une page maître

Barre d’outils Pages maîtres

Ajouter du contenu à une page de contenu