Anda di halaman 1dari 10

Pages matres et thmes

Page Matre

Une page matre est une page Asp.Net qui possde les caractristiques suivantes:
Classe de base : MasterPage Extension: master Possde la directive Master au lieu de la directive Page

Cration dune page matre d une


Ajouter un nouvel lment de type : Page matre Les zones modifiables sont dfinies par des lments de type ContentPlaceHolder Le titre des pages de contenu peut tre dfini dans la directive page.
<%@MasterLanguage="C#"AutoEventWireup="true"CodeBehind="page.master.cs" Inherits="WebApplication1.page"%> <!DOCTYPEhtmlPUBLIC"//W3C//DTDXHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd"> p g <htmlxmlns="http://www.w3.org/1999/xhtml"> <headrunat="server"> <title></title> <asp:ContentPlaceHolder ID="head"runat="server"> </asp:ContentPlaceHolder> </head> <body><formid="form1"runat="server"><div> <asp:ContentPlaceHolder ID="ContentPlaceHolder1"runat="server"> </asp:ContentPlaceHolder> </div></form></body></html>

Pages de contenu
Cration
Ajouter une nouvelle page Web de type Web Form avec page matre Dfinir Title Les zones Content

Remarque
Les proprits dfinies dans la page matre sont prioritaires sur les propritaires dfinies dans les

pg page de contenu La page de contenu est attache la page matre laide de la proprit MasterPageFile Le lien entre les pages matres et les pages de contenu peut tre aussi effectu dans le fichier web.config :
<pages masterPageFile="Site Master"/> masterPageFile= Site.Master />
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="WebForm3.aspx.cs" Inherits="WebApplication1.WebForm3" %> <asp:Content ID "Content1" ContentPlaceHolderID "head" runat "server"> ID= Content1 ContentPlaceHolderID= head runat= server > </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> </asp:Content>

Accs aux proprits dune page matre


Crer une proprit publique dans la page matre matre.
publicStringInfo { g get {return(String)Session["Info"];} { ( g) [ ]; } set{Session["Info"]=value;} } <%@ MasterType VirtualPath="~/Site.Master" %>

Ajouter la directive MasterType dans la page de contenu.


<%@ MasterType VirtualPath="~/Site.Master" %>

Accder la proprit laide de la syntaxe suivante: p p y

Master.NomProprit
lblInfo.Text =Master.Info;

Rfrencer un contrle de la page Matre:


LabellblNom=(Label) Master.FindControl("lblNom");

Pages matres imbriques


Exemple
<%@ Master Language="C#" MasterPageFile="~/Site.master" AutoEventWireup= true CodeFile= p.master.cs Inherits= p AutoEventWireup="true" CodeFile="p master cs" Inherits="p" %> <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" ID= Content2 ContentPlaceHolderID= MainContent Runat="Server"> <table> <tr> <td> <asp:ContentPlaceHolder ID="Colonne1" runat="server"> </asp:ContentPlaceHolder> </td> <td> <asp:ContentPlaceHolder ID="Colonne2" runat="server"> </asp:ContentPlaceHolder> </td> </tr> </table> </asp:Content>

Changer dynamiquement la page matre


1. 2.

Crer deux ou plusieurs pages matres avec les mmes contrles ContentPlaceHolder et les mmes proprits publiques. Pour changer la page matre il faut redfinir la proprit MasterPageFile de la classe Page dans lvnement Page_PreInit de la page de contenu (car sinon il sera trop tard, l t t d lvnement P t Page_Init rfrence dj l page M t ) I it f la Matre).

Session["master"]="~/master2.master"; protected void Page PreInit(object s EventArgs e) Page_PreInit(object s,EventArgs { if(Session["master"]!=null) MasterPageFile =(string) =(string) Session["master"]; }

Thmes
Un thme est un ensemble de dfinitions de proprits, de styles et

d'images. U thme peut t appliqu une page ou bi toutes les pages d' Un th t tre li bien t t l d'un site Dfinition d un thme d'un Un thme est un ensemble de fichiers .skin enregistr dans un sous dossier nomm App_Themes. (Ajouter le dossier ASP.NET/Thme) Un thme peut tre constitu de:
Fichiers dapparence ( skin ) contenant les valeurs par dfaut des proprits

d'un ou de plusieurs contrles contrles. Feuilles de styles css Images et autres ressources g

Cration dun thme


1. 2. 3.

Ajouter le dossier ASP.Net App_Themes lapplication web Crer un dossier pour chaque thme de votre application (le nom du dossier reprsente le nom du thme). Ajouter les fichiers dapparence, feuilles de style et images dans le dossier du thme.

Application d' A li i d'un thme h


Pour appliquer un thme il faut dfinir lattribut Theme ou bien lattribut StyleSheetTheme.
A une page: <%@ Page Theme="theme1" %> Appliquer le thme toutes les pages dans le fichier web.config, :

<configuration> <system.web> <pages theme="theme1"> </ pages >< /system.web> </configuration>. / f

Remarque:
lattribut StyleSheetTheme applique le thme avant lexcution des proprits Set des y pp q p p

Contrles, alors que lutilisation de la proprit Theme permet dappliquer le thme aprs excution des proprits Set des contrles.

Cration dun thme global

Un thme global peut tre utilis par toute application sur le mme serveur web, et doit tre stock dans lun des dossiers suivants:
<iis_default_root>\Aspnet_client\System_web\<version>\Themes. %SystemRoot%\Microsoft.NET\Framework\<version>\ASP.NETClientFiles\Themes y

Fichiers dapparence (fichiers skins)


Un fichier skin peut tre cr pour un ou p p p plusieurs types de contrles, il existe yp ,

deux types de fichiers dapparence:


type, exemple:

Fichiers dapparence par dfaut: ils sont appliqus sur tous les contrles de mme
<asp:TextBox BackColor="Blue"ForeColor="White"Runat="Server"/> <asp:Label BackColor="White"ForeColor="Blue"Runat="Server"Font Bold="True"/>

Les fichiers dapparence nomms: le skin est appliqu aux contrles ayant un SkinId .
<asp:Label SkinId="skin1"BackColor="White"ForeColor="Blue" Runat="Server"FontBold="True"/> R t "S " F t B ld "T " /

Ajouter une image un thme


Dans lefichier dapparence: <asp:Image runat="server"ImageUrl="~/App_Themes/theme1/logo.gif" SkinId="logo"/> Danslapagedecontenu: <asp:Image ID="Image1"runat="server"SkinID="logo"/>

Ordre de prcdence des dfinitions dattributs


1. 1 2. 3. 4. 5.

l attributTheme lattributTheme dans la directive Page <pages Theme=nomTheme> dans la section <system.web> du fichier Web.config g Les attributs dfinis dans les contrles Lattribut StyleSheetTheme dans la directive Page y g <pages StyleSheetTheme=nomTheme> dans le fichierWeb.config.

Remarque Le support des thmes peut tre dsactiv, laide de la proprit (EnableTheming false). (EnableTheming=false) Un thme peut tre dfini par programmation dans lvnement PreInit laide de la proprit Theme de la classe Page.

Anda mungkin juga menyukai