FAQ ASP.NET/C#
FAQ ASP.NET/C#Consultez toutes les FAQ
Nombre d'auteurs : 39, nombre de questions : 371, dernière mise à jour : 15 juin 2021
Il y a plusieurs manières de définir la Master Page à utiliser. Une des techniques est de la définir dans le Page_PreInit:
this
.
MasterPageFile =
"mpPath\mpFile.master"
;
Ainsi, cette valeur "surchargera" celle définie dans l'entête de la page web.
Bien que Visual Studio 2005 ne le permette pas en mode design, l'imbrication de Master Page est prévue dans le framework.
Effectivement, l'élément permettant de définir quelle est la master page est MasterPageFile="~/masterpage.master" dans la directive "Page".
Cela donnera donc :
<%
@ Page Language=
"C#"
MasterPageFile=
"~/masterpage.master"
AutoEventWireup=
"true"
CodeFile=
"default.aspx.cs"
Inherits=
"_default"
Title=
"Untitled Page"
%>
Dès lors, il ne vous reste plus qu'à définir cette propriété au sein de votre master page et vous voilà avec des master pages imbriquées, très utiles pour faciliter la mise en page dans vos applications.
Dans vos pages, vous avez accès à une propriété nommée Master. Celle-ci comporte, comme pour toutes les pages, une méthode FindControl à laquelle vous pouvez passer le nom du contrôle. Il ne vous reste plus qu'à le caster (sans quoi vous récupérerez un Control). Il ne vous reste plus qu'à le modifier.
Label la =
(
Label)Master.
FindControl
(
"laDansMasterPage"
);
la.
Text =
"un titre par exemple"
;