Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source

Procédure pas à pas : création et utilisation de pages maîtres ASP.NET dans Visual Web Developer

Cette procédure pas à pas illustre la création d'une page maître et de plusieurs pages de contenu. Les pages maîtres vous permettent de créer une présentation de page (une page de modèle), puis de créer des pages séparées avec du contenu fusionné avec la page maître au moment de l'exécution. Pour plus d'informations sur les pages maîtres, consultez Pages maîtres ASP.NET.

Un projet Visual Studio avec le code source accompagne ce projet : Download.

RemarqueRemarque

Par défaut, le modèle de projet de site Web ASP.NET inclut des fonctionnalités prégénérées, qui intègrent une page maître. Toutefois, cette procédure pas à pas utilise le modèle de projet du site Web vide d'ASP.NET pour vous indiquer comment ajouter manuellement une page maître à un site Web.

Cette procédure pas à pas illustre les tâches suivantes :

  • Création d'une page maître

  • Création d'une page ASP.NET avec le contenu que vous souhaitez afficher dans la page maître

  • Sélection d'une page maître au moment de l'exécution

Pour exécuter cette procédure pas à pas, vous avez besoin de :

  • Visual Studio ou Microsoft Visual Web Developer Express.

    RemarqueRemarque

    Si vous utilisez Visual Studio, la procédure pas à pas suppose que vous avez sélectionné la collection de paramètres Développement Web lors du premier démarrage de Visual Studio. Pour plus d'informations, consultez Comment : sélectionner les paramètres de l'environnement de développement Web.

  • Éventuellement, un fichier .jpg, .gif ou un fichier graphique que vous pouvez utiliser en tant que logo sur votre page maître. Il est recommandé que la largeur du logo ne dépasse pas 48 pixels. Toutefois, l'affichage d'un logo est facultatif et la taille exacte du graphique n'est pas importante dans cette procédure pas à pas.

Si vous avez déjà créé un site Web dans Visual Web Developer (par exemple, en effectuant les étapes décrites dans Procédure pas à pas : création d'une page Web de base dans Visual Studio), vous pouvez utiliser ce site Web et passer à la section suivante, Création d'une page maître . Sinon, créez un site et une page Web.

Cette procédure pas à pas utilise un projet de site Web. Vous pouvez utiliser un projet d'application Web à la place. Pour plus d'informations sur ce qui différencie ces types de projets Web, consultez Projets d'application Web et projets de site Web.

Pour créer un site Web de système de fichiers

  1. Ouvrez Visual Studio ou Visual Web Developer Express.

  2. Dans le menu Fichier, cliquez sur Nouveau site Web.

    La boîte de dialogue Nouveau site Web s'affiche.

  3. Sous Modèles installés, cliquez sur Visual Basic ou VisualC#, puis sélectionnez Site Web ASP.NET vide.

  4. Dans la zone EmplacementWeb, sélectionnez Système de fichiers, puis entrez le nom du dossier dans lequel vous souhaitez conserver les pages de votre site Web.

    Par exemple, tapez le nom du dossier C:\SitesWeb.

  5. Cliquez sur OK.

    Visual Studio crée un projet de site Web qui inclut un fichier Web.config.

La page maître est le modèle de l'apparence de vos pages. De cette section, vous créerez d'abord une page maître. Vous utiliserez ensuite une table pour présenter la page maître avec un menu, un logo et un pied de page qui apparaîtra sur chaque page de votre site. Vous utiliserez également un espace réservé de contenu, qui correspond à une région de la page maître qui peut être remplacée par les informations d'une page de contenu.

Pour créer la page maître

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom de votre site Web, puis cliquez sur Ajouterun nouvel élément.

  2. Sous Modèles Visual Studio installés, cliquez sur Page maître.

  3. Dans la zone Nom, tapez Master1.

  4. Activez la case à cocher Placer le code dans un fichier distinct.

    RemarqueRemarque

    Cette procédure pas à pas suppose que vous utilisez des fichiers code-behind pour toutes les pages. Si vous utilisez une page ASP.NET à fichier unique, le code illustré dans cette procédure pas à pas fonctionnera, mais il apparaîtra en mode Source, pas dans un fichier de code distinct.

  5. Dans la liste Langage, cliquez sur votre langage de programmation préféré, puis cliquez sur Ajouter.

    La nouvelle page maître s'ouvre en mode Source.

    En haut de la page se trouve une déclaration @ Master au lieu de la déclaration @ Page qui se trouve habituellement en haut des pages ASP.NET. Le corps de la page contient un contrôle ContentPlaceHolder qui correspond à la zone de la page maître où le contenu remplaçable sera fusionné à partir des pages de contenu au moment de l'exécution. Vous utiliserez davantage l'espace réservé de contenu lors d'une prochaine étape de cette procédure pas à pas.

La page maître définit l'apparence des pages sur votre site. Elle peut contenir n'importe quelle combinaison de texte statique et de contrôles. Une page maître contient également un ou plusieurs espaces réservés de contenu qui désignent l'emplacement du contenu dynamique lorsque les pages sont affichées.

Lors de cette procédure pas à pas, vous utiliserez une table qui vous aidera à positionner les éléments sur la page. Vous commencerez par créer un tableau de disposition qui contiendra les éléments de la page maître. Lors d'une étape ultérieure de cette section, vous positionnerez le contrôle de l'espace réservé de contenu qui se trouve déjà sur la page.

Pour créer un tableau de disposition pour la page maître

  1. Avec le fichier Master1.master sélectionné en mode Source, utilisez la liste déroulante Schéma cible à valider dans la barre d'outils pour affecter au schéma cible la valeur Microsoft Internet Explorer 6.0.

  2. Basculez en mode Design.

  3. Cliquez au centre de la page pour sélectionner la page. Dans la fenêtre Propriétés, affectez à la propriété BgColor une couleur différente, par exemple bleu.

    La couleur que vous sélectionnez n'est pas importante. Lors d'une étape ultérieure de cette procédure, vous créerez une deuxième page maître sans couleur afin qu'elle contraste celle que vous venez de sélectionner.

  4. Cliquez sur la page où vous souhaitez placer le tableau de disposition.

    RemarqueRemarque

    Ne placez pas le tableau de disposition dans le contrôle ContentPlaceHolder.

  5. Dans le menu Tableau, cliquez sur Insérer un tableau.

  6. Dans la boîte de dialogue, cliquez Insérer un tableau pour créer un tableau de trois lignes et une colonne, puis cliquez sur OK.

  7. Placez le curseur à l'intérieur de la deuxième ligne de la table.

  8. Dans le menu Tableau, dans le sous-menu Modifier, cliquez sur Fractionner les cellules.

  9. Dans la boîte de dialogue Fractionner les cellules, sélectionnez Fractionner en colonnes, puis cliquez sur OK.

  10. Définissez les paramètres suivants :

    • Dans la ligne centrale, cliquez sur la colonne la plus à gauche, puis affectez 48 à sa Largeur dans la fenêtre Propriétés.

    • Cliquez sur la ligne supérieure, puis affectez 48 à sa Hauteur dans la fenêtre Propriétés.

    • Cliquez sur la ligne inférieure, puis affectez 48 à sa Hauteur dans la fenêtre Propriétés.

      RemarqueRemarque

      Vous pouvez définir la largeur et la hauteur en faisant glisser les bordures des cellules du tableau ou en sélectionnant la cellule et en affectant des valeurs dans la fenêtre Propriétés.

  11. Sélectionnez toutes les cellules dans la table et affectez à BgColor une couleur autre que la couleur d'arrière-plan.

Après avoir réalisé la disposition du tableau, vous pouvez ajouter du contenu à la page maître qui apparaîtra sur toutes les pages. Vous ajouterez un message de copyright en tant que pied de page ainsi qu'un menu. Si vous disposez d'un logo graphique, vous pouvez également l'ajouter.

Pour ajouter du contenu statique à la page maître

  1. Cliquez sur la cellule inférieure, puis tapez le texte du pied de page, par exemple Copyright 2007 Contoso Inc..

  2. Dans la Boîte à outils, à partir du groupe de contrôles Navigation, faites glisser un contrôle Menu dans la cellule supérieure.

  3. Créez un menu en suivant les étapes suivantes :

    1. Affectez à la propriété Orientation du contrôle Menu la valeur Horizontal.

    2. Cliquez sur la balise active du contrôle Menu, puis sur Modifier les éléments de menu dans la boîte de dialogue Tâches Menu. La boîte de dialogue Modifier les éléments de menu s'affiche.

  4. Dans la boîte de dialogue Modifier les éléments de menu , section Éléments, cliquez deux fois sur l'icône Ajouter un nœud racine pour ajouter deux éléments de menu :

    1. Cliquez sur le premier nœud, puis affectez Accueil à Text et Default.aspx à NavigateUrl.

    2. Cliquez sur le deuxième nœud, puis affectez About à Text et About.aspx à NavigateUrl.

    3. Cliquez sur OK pour fermer la boîte de dialogue Éditeur d'éléments de menu.

  5. Si vous disposez d'un fichier graphique à utiliser comme logo, suivez les étapes ci-dessous pour le placer sur la page maître :

    1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom de votre site Web, puis cliquez sur Ajouter un élément existant.

    2. Naviguez vers votre fichier graphique, sélectionnez le fichier graphique, puis cliquez sur Ajouter.

    3. Dans la Boîte à outils, à partir du groupe Standard, faites glisser un contrôle Image dans la colonne centrale de gauche du tableau.

    4. Affectez à la propriété ImageUrl du contrôle Image le nom du fichier graphique.

Vous pouvez maintenant positionner l'espace réservé de contenu pour spécifier l'emplacement où la page maître peut afficher le contenu au moment de l'exécution.

Pour déplacer l'espace réservé du contenu

  1. Faites glisser le contrôle ContentPlaceHolder dans la cellule centrale de droite. Vous pouvez déplacer le contrôle en cliquant à l'intérieur de celui-ci, puis en le faisant glisser avec sa balise.

    La propriété ID du contrôle est ContentPlaceholder1. Vous pouvez garder ce nom ou le modifier. Si vous modifiez le nom, notez-le quelque part, car vous devrez vous en rappeler ultérieurement.

  2. Enregistrez la page.

La page maître fournit le modèle pour votre contenu. Définissez le contenu de la page maître en créant une page ASP.NET qui est associée à la page maître. La page de contenu est un formulaire spécialisé d'une page ASP.NET qui contient uniquement le contenu à fusionner avec la page maître. Dans la page de contenu, ajoutez le texte et les contrôles que vous souhaitez afficher lorsque les utilisateurs demandent cette page.

Lors de cette procédure pas à pas, vous ajouterez deux pages avec du contenu pour la page maître. La première est une page par défaut (accueil) et la deuxième une page À propos de.

Pour créer la page par défaut

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom de votre site Web, puis cliquez sur Ajouter un nouvel élément.

  2. Sous Modèles Visual Studio installés, cliquez sur Formulaire Web.

  3. Dans la zone Nom, conservez le nom de fichier inséré par Visual Studio : Default.

  4. Dans la liste Langage, cliquez sur votre langage de programmation préféré.

  5. Activez la case à cocher Sélectionner la page maître, puis cliquez sur Ajouter.

    La boîte de dialogue Sélectionner une page maître s'affiche.

  6. Cliquez sur Master1.master, puis sur OK.

    Un nouveau fichier .aspx est créé. La page contient une directive @ Page qui associe la page active à la page maître sélectionnée avec l'attribut MasterPageFile, comme indiqué dans l'exemple de code suivant.

    <%@ Page Language="C#" MasterPageFile="~/Master1.master" ... %>
    

    La page contient également un contrôle Content que vous utiliserez par la suite.

Une page de contenu ne possède pas les éléments habituels qui composent une page ASP.NET, tels que les éléments html, body ou form. À la place, ajoutez uniquement le contenu que vous souhaitez afficher sur la page maître en remplaçant les régions d'espace réservé que vous avez créées dans la page maître.

Pour ajouter du contenu à la page par défaut

  1. En mode Source, tapez Page d'accueil Contoso dans l'élément Titre de la directive @ Page en haut de la page.

    Vous pouvez définir indépendamment le titre de chaque page de contenu, afin que le titre approprié soit affiché dans le navigateur lorsque le contenu est fusionné avec la page maître. Les informations de titre sont stockées dans la directive @ Page de la page de contenu.

  2. Basculez en mode Design.

    Les contrôles ContentPlaceHolder de la page maître sont affichés comme contrôles Content dans la nouvelle page de contenu. Le reste du contenu de page maître est affiché afin que vous puissiez consulter la disposition. Toutefois, il est grisé car vous ne pouvez pas le modifier pendant que vous modifiez une page de contenu, et le curseur devient une barre I uniquement à l'endroit où vous pouvez ajouter du contenu.

  3. Dans le contrôle Content qui correspond à ContentPlaceHolder1 sur la page maître, tapez Bienvenue sur le Site Web Contoso.

  4. Sélectionnez le texte et transformez-le en titre en sélectionnant En-tête 1 dans la liste déroulante Format du bloc au-dessus de Boîte à outils.

  5. Appuyez sur ENTRÉE pour créer une ligne vierge dans le contrôle Content, puis tapez Merci de votre visite.

    Le texte que vous ajoutez à cette étape n'est pas important ; vous pouvez taper n'importe quel texte qui vous aidera à reconnaître que cette page est la page par défaut (accueil).

  6. Enregistrez la page.

Vous pouvez créer la page À propos de la même façon que vous avez créé la page par défaut.

Créer la page À propos de

  1. Pour ajouter une nouvelle page de contenu nommée About.aspx, suivez les mêmes étapes que pour la page par défaut.

    Veillez à joindre la nouvelle page à la page Master1.master comme vous l'avez fait avec la page par défaut.

  2. Remplacez le titre de la page par Page À propos de Contoso.

  3. Dans la région de contenu, tapez À propos de Contoso, puis mettez en forme le texte en Titre 2 en sélectionnant le texte et Titre 2 dans la liste déroulante Format du bloc au-dessus de la Boîte à outils.

  4. Appuyez sur ENTRÉE pour créer une ligne, puis tapez Depuis 1982, Contoso fournit des services logiciels de haute qualité.

  5. Enregistrez la page.

Vous pouvez tester les pages en les exécutant comme vous le feriez avec une page ASP.NET quelconque.

Pour tester les pages

  1. Basculez vers la page Default.aspx, puis appuyez sur CTRL+F5.

    ASP.NET fusionne le contenu de la page Default.aspx avec la mise en page de la page Master1.master en une seule page et affiche le résultat dans le navigateur.

  2. Cliquez sur le lien À propos....

    La page About.aspx est affichée. Elle est également fusionnée avec la page Master1.master.

Le code des pages de contenu peut référencer des membres sur la page maître, y compris des propriétés ou des méthodes publiques et des contrôles de la page maître. Dans cette partie de la procédure pas à pas, vous créerez une propriété sur la page maître, puis utiliserez la valeur de cette propriété dans les pages de contenu. Cela implique que le nom de la société du site Web soit stocké en tant que propriété dans la page maître et que toute référence au nom de la société dans les pages de contenu soit fonction de la propriété de la page maître.

La première étape consiste à ajouter une propriété à la page maître.

Pour ajouter une propriété à la page maître

  1. Basculez vers la page Master1.master ou ouvrez-la.

  2. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Master1.master, puis cliquez sur Afficher le code pour ouvrir l'éditeur de code.

    RemarqueRemarque

    Par défaut, Visual Web Developer crée des pages qui utilisent le modèle code-behind.

  3. Dans la définition de classe, tapez le code suivant :

    Public Property CompanyName() As String
        Get
            Return CType(ViewState("companyName"), String)
        End Get
        Set(ByVal Value As String)
            ViewState("companyName") = Value
        End Set
    End Property
    

    public String CompanyName
    {
        get { return (String) ViewState["companyName"]; }
        set { ViewState["companyName"] = value; }
    }
    

    Le code crée une propriété nommée CompanyName pour la page maître. La valeur est stockée dans l'état d'affichage afin d'être persistante entre les publications (postback).

  4. Dans la définition de classe (mais pas dans le code de propriété), ajoutez le code suivant :

    Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) _
           Handles Me.Init
       Me.CompanyName = "Contoso"
    End Sub
    

    void Page_Init(Object sender, EventArgs e)
    {
       this.CompanyName = "Contoso";
    }
    

    Pour cet exemple, vous coderez en dur la valeur de la propriété CompanyName dans la page.

Vous pouvez maintenant modifier la page de contenu pour utiliser la propriété CompanyName de la page maître.

Pour référencer la propriété CompanyName dans la page de contenu

  1. Basculez vers la page Default.aspx ou ouvrez-la.

  2. Basculez en mode Source.

  3. En haut de la page, sous la directive @ Page, ajoutez la directive suivante @ MasterType :

    <%@ MasterType virtualpath="~/Master1.master" %>
    

    La directive lie la propriété Master de la page de contenu, que vous utiliserez bientôt, à la page Master1.master.

  4. Basculez en mode Design.

  5. Dans le contrôle Content, remplacez le texte par Bienvenue sur le site Web de .

  6. Dans la Boîte à outils, à partir du groupe Standard, faites glisser un contrôle Label sur le contrôle Content, et placez-le après le texte statique afin que le texte se présente comme suit :

    Bienvenue sur le site Web de [Étiquette]

  7. Affectez CompanyName à la propriété ID du contrôle Label.

  8. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Default.aspx, puis cliquez sur Afficher le code pour ouvrir l'éditeur de code.

  9. Dans la définition de classe, ajoutez le code suivant :

    Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) _
            Handles Me.Load
        CompanyName.Text = Master.CompanyName
    End Sub
    

    void Page_Load(Object sender, EventArgs e)
    {
       CompanyName.Text = Master.CompanyName;
    }
    

    La propriété Master de la page de contenu retourne une référence à la page maître comme défini dans la directive @ MasterType que vous avez ajoutée à l'étape 3.

Vous pouvez maintenant tester la page de contenu afin de vous assurer qu'elle référence correctement la propriété CompanyName de la page maître.

Pour tester la référence à la propriété de la page maître

  1. Basculez vers la page Default.aspx ou ouvrez-la, puis appuyez sur CTRL+F5 pour exécuter la page.

    La page est affichée dans le navigateur, avec le texte Bienvenue sur le site Web de Contoso

  2. Fermez le navigateur.

  3. Basculez vers la page code-behind Master1.master ou ouvrez-la.

  4. Modifiez le gestionnaire Page_Init afin d'assigner un nom de société différent à la propriété, comme dans l'exemple de code suivant :

    Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) _
           Handles Me.Init
       Me.CompanyName = "New Company Name"
    End Sub
    

    void Page_Init(Object sender, EventArgs e)
    {
       this.CompanyName = "New Company Name";
    }
    
  5. Basculez sur la page Default.aspx, puis appuyez sur CTRL+F5 pour l'exécuter à nouveau.

    Cette fois, le nom de la société mis à jour apparaît dans la page.

Dans certaines circonstances, vous souhaiterez peut-être pouvoir modifier des pages maîtres de façon dynamique ; c'est-à-dire utiliser le code pour définir la page maître pour une page de contenu. Par exemple, vous souhaiterez peut-être permettre aux utilisateurs de sélectionner entre plusieurs dispositions et de définir la page maître en fonctions de leurs préférences.

Dans cette partie de la procédure pas à pas, vous ajouterez une deuxième page maître au site Web, puis créerez des boutons qui permettront à l'utilisateur de basculer d'une page maître à une autre. Étant donné que les deux pages maîtres seront très semblables, vous ferez une copie de la première page maître et la modifierez afin qu'elle agisse en tant que deuxième page maître.

Pour faire une copie de la page maître

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Master1.master, puis cliquez sur Copier.

  2. Cliquez avec le bouton droit sur le nom du site Web, puis cliquez sur Coller.

    Une page maître est ajoutée au site Web avec le nom Copie de master1.master.

  3. Cliquez avec le bouton droit sur Copie de master1.master, cliquez sur Renommer, puis nommez la nouvelle page maître Master2.master.

  4. Ouvrez Master2.master et, dans la directive @ Master, remplacez Master1 par Master2.

    La directive de page terminée se présentera comme illustré dans l'exemple de code suivant :

    <%@ Master Language="VB" CodeFile="Master2.master.vb" Inherits="Master2" %>
    

    <%@ Master Language="C#" CodeFile="Master2.master.cs" Inherits="Master2" %>
    
  5. Basculez en mode Design.

  6. Dans la liste déroulante qui se trouve en haut de la fenêtre Propriétés, cliquez sur DOCUMENT.

  7. Modifiez la propriété BgColor de sorte que sa couleur soit visiblement différente de la couleur choisie pour Master1.

    La nouvelle page maître se présentera et fonctionnera comme Master1.master, mais aura une couleur d'arrière-plan différente.

  8. Ouvrez le fichier de code pour Master2.master et transformez le nom de la classe dans le fichier code-behind de la page maître, de Master1 en Master2, pour correspondre à la valeur de l'attribut Inherits dans la directive @ Master de la page.

    Le code se présentera comme illustré dans l'exemple suivant :

    Partial Class Master2
    

    public partial class Master2 : System.Web.UI.MasterPage
    

L'étape suivante consiste à ajouter un bouton à chaque page maître qui permet à l'utilisateur de sélectionner la page maître de remplacement.

Pour ajouter des boutons permettant de sélectionner une page maître de remplacement

  1. Basculez vers la page Master2.master ou ouvrez-la.

  2. Dans la Boîte à outils, dans le nœud Standard, faites glisser un contrôle LinkButton sur la page et placez-le en-dessous du menu dans la cellule supérieure du tableau.

  3. Affectez à la propriété Text du bouton la valeur Première couleur.

  4. Double-cliquez sur le bouton pour créer un gestionnaire pour son événement Click, puis ajoutez le code en surbrillance suivant :

    protected void LinkButton1_Click(Object sender, EventArgs e)
    {
       Session["masterpage"] = "Master1.master";
       Response.Redirect(Request.Url.ToString());
    }
    

    Le code charge le nom de fichier de la page maître de remplacement dans une variable de session persistante, puis recharge la page active. (La propriété Url retourne un objet Uri qui référence la page active.) Bientôt, vous créerez le code dans la page de contenu qui utilisera le nom de la page maître.

  5. Basculez vers la page Master1.master ou ouvrez-la en mode Design.

  6. Ajoutez un contrôle LinkButton comme vous l'avez fait lors des étapes 1 et 2, puis affectez à sa propriété Text la valeur Deuxième couleur.

  7. Double-cliquez sur le bouton Plain pour créer un gestionnaire pour son événement Click, puis ajoutez le code en surbrillance suivant :

    protected void LinkButton1_Click(Object sender, EventArgs e)
    {
       Session["masterpage"] = "Master2.master";
       Response.Redirect(Request.Url.ToString());
    }
    

    Ce code est le même que celui du bouton de la page Master2.master, à la différence qu'il charge une page maître de remplacement.

Vous pouvez maintenant écrire le code dans la page de contenu qui chargera dynamiquement la page maître que l'utilisateur a sélectionnée.

Pour écrire du code permettant de sélectionner dynamiquement la page maître

  1. Basculez vers la page About.aspx ou ouvrez-la.

    RemarqueRemarque

    La page par défaut que vous avez déjà créée contient une directive @ MasterType qui la lie à une seule page maître (Master1.master). Par conséquent, vous ne serez pas en mesure d'assigner dynamiquement des pages maîtres à la page par défaut et utiliserez à la place d'autres pages créées.

  2. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur About.aspx, puis cliquez sur Afficher le code pour ouvrir l'éditeur de code.

  3. Dans la définition de classe, ajoutez le code suivant :

    void Page_PreInit(Object sender, EventArgs e)
    {
       if(Session["masterpage"] != null)
       {
          this.MasterPageFile = (String) Session["masterpage"];
       }
    }
    

    Le code affecte à la propriété MasterPageFile de la page active la valeur de la variable de session, s'il en existe une. Ce code doit s'exécuter dans le gestionnaire Page_PreInit. Il ne peut pas s'exécuter dans un gestionnaire qui intervient après le gestionnaire Page_PreInit (par exemple, dans le gestionnaire Page_Init), car la page maître doit être établie de sorte que la page puisse créer une instance de celle-ci avant que toute initialisation supplémentaire puisse se produire.

Vous pouvez à présent tester dynamiquement les pages maîtres.

Pour tester les pages maîtres dynamiques

  1. Dans la page About.aspx, appuyez sur CTRL+F5 pour exécuter la page.

    La page fusionnée avec sa page maître par défaut, Master1.master, est affichée dans le navigateur.

  2. Cliquez sur le lien Deuxième couleur.

    La page est réaffichée, cette fois-ci fusionnée avec Master2.master, qui n'a aucune couleur d'arrière-plan.

  3. Cliquez sur le lien Première couleur.

    La page est une nouvelle fois affichée à l'aide de Master1.master.

Remarques concernant l'utilisation des pages maîtres

Lorsque vous utilisez une page maître, vous devez être informé(e) de l'existence de plusieurs autres problèmes :

  • Dans une application réelle, vous stockeriez probablement des informations telles que le nom de la société dans le fichier de configuration et le liriez directement dans les pages de contenu. Toutefois, le scénario exposé dans cette section fournit une illustration simple du référencement des membres de page maître dans les pages de contenu.

  • Vous pouvez accéder aux membres dans la page maître sans inclure de directive @ MasterType. Pour cela, vous devez, toutefois, effectuer un cast de la propriété Page.Master en type de page maître approprié (la propriété Master est null si une page n'a aucune page maître). Pour plus d'informations, consultez Utilisation des pages maîtres ASP.NET par programmation.

Vous pouvez référencer des contrôles sur la page maître en utilisant la méthode Master.FindControls. Pour plus d'informations, consultez Utilisation des pages maîtres ASP.NET par programmation.

Lorsque vous utilisez des pages maîtres dynamiques, vous devez être informé(e) de l'existence de plusieurs autres problèmes :

  • Le scénario décrit dans cette section permettant de modifier des pages maîtres est simplifié afin que la procédure pas à pas reste concentrée sur les pages maîtres. Dans une vraie application, vous afficheriez très probablement un choix de dispositions, puis stockeriez la préférence de l'utilisateur en utilisant des profils. Pour plus d'informations, consultez Vue d'ensemble des propriétés du profil ASP.NET.

  • Vous pouvez configurer votre site Web afin que toutes les pages utilisent la même page maître. Il se peut que quelques pages doivent utiliser une page maître de remplacement que vous pouvez configurer dans le code de manière identique à celle qui est indiquée dans cette section de la procédure pas à pas. Pour plus d'informations, consultez « Portée des pages maîtres » dans Pages maîtres ASP.NET.

  • Vous devez ajouter le code de la page Default.aspx à chaque page pour laquelle vous souhaitez substituer la page maître par défaut.

Cette procédure pas à pas illustre les fonctionnalités de base des pages maîtres. Vous souhaiterez peut-être essayer d'autres fonctionnalités des pages maîtres. Vous pouvez, par exemple, souhaiter effectuer les opérations suivantes :

  • Créez des pages maîtres qui ont plusieurs espaces réservés de contenu. Ensuite, vous pouvez remplir un ou plusieurs espaces réservés avec le contenu de chaque page que vous affichez.

  • Définissez des espaces réservés de contenu avec le contenu par défaut. Si une page ASP.NET ne fournit pas de contenu pour l'espace réservé, la page maître affiche le contenu par défaut.

  • Accédez par programme aux membres de la page maître à partir des pages de contenu. Cela vous permet de modifier dynamiquement l'apparence de la page maître au moment de l'exécution. Pour plus d'informations, consultez Comment : référencer le contenu de la page maître ASP.NET.

  • Utilisez le filtrage des périphériques avec les pages maîtres pour créer différentes dispositions pour différents périphériques, telles qu'une disposition pour des navigateurs et une autre pour un type spécifique de téléphone. Pour plus d'informations, consultez Vue d'ensemble des filtres de périphérique ASP.NET.

  • Apprenez comment placer des pages maîtres dans des pages maîtres afin de créer des parties basées sur des composants. Pour plus d'informations, consultez Pages maîtres ASP.NET imbriquées.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft