Master Page

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles TOURREAU
Le #12145191
Le Thu, 26 Apr 2007 16:43:18 +0200, 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

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 :


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
Publicité
Poster une réponse
Anonyme