Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Master Page

1 réponse
Avatar
Patrick JEAN
Hello le monde , bonjour à tous

C'est tordu :

A partir d'une page fille je cherche a appliquer une class Css au Body de ma
master page ....

Sur ma page fille j'ai
<%@ MasterType virtualpath="~/Accueil/Accueil.master" %>

puis j'essaye de faire :

Master.FindControl("Body") ....mais apprès je vois plus trop ...

(Body est l'id de ma balise BODY)

Je fais appel aux bonnes volontés ..

MERCI !!!

Patrick JEAN

1 réponse

Avatar
Gilles TOURREAU
Le Thu, 26 Apr 2007 16:43:18 +0200, Patrick JEAN a écrit:

Hello le monde , bonjour à tous

C'est tordu :

A partir d'une page fille je cherche a appliquer une class Css au Body
de ma
master page ....

Sur ma page fille j'ai
<%@ MasterType virtualpath="~/Accueil/Accueil.master" %>

puis j'essaye de faire :

Master.FindControl("Body") ....mais apprès je vois plus trop ...

(Body est l'id de ma balise BODY)

Je fais appel aux bonnes volontés ..

MERCI !!!

Patrick JEAN





Si vous récupérez la balise body via FindControl(), le contrôle renvoyé
est de type "HtmlGenericControl". Cela vient du fait qu'il n'existe pas de
classe qui gère la balise "body". Cependant si vous ajoutez runat="server"
dans la balise body il suffira pour changer l'attribut "class" utiliser la
méthode Attributes comme-ceci :

((HtmlGenericControl)this.FindControl("Body")).Attributes.Add("class",
"MaClassCSS")

Il existe une autre possibilité, vous pouvez créer une propriété dans
votre masterpage (qui selon moi est beaucoup plus propre) :

public class MonMasterPage : MasterPage
{
...
public string MaClasse
{
get{ ... }
set { ... }
}
...
}

Et dans le code XHTML :

<body class="<%= MaClasse %>"> ... </body>

Il suffira dans la page fille :

((MonMasterPage)this.Master).MaClasse = "MaClassCSS";

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr