Bonjour je voulais savoir si il est techniquement possible de permettre à l'utilisateur de sélectionner différente feuilles de styles (CSS) par exemple à l'aidre de radio bouton.. ?
Si oui comment faire ?
Merci d'avance de votre aide !
Bonjour je voulais savoir si il est techniquement possible de permettre à l'utilisateur de sélectionner différente feuilles de styles (CSS) par exemple à l'aidre de radio bouton.. ?
Si oui comment faire ?
Merci d'avance de votre aide !
Tu as accès à la propriété définissant la feuille de style appliquée à la page.
Code : Sélectionner tout - Visualiser dans une fenêtre à part this.Page.StyleSheetTheme = "StyleSheet.css";
Excuse moi, j'ai été un peu trop vite dans mes recherches.
Voici la bonne solution: Dans ta page aspx, tu as la balise suivante représentant le feuille de style associée.
Afin que tu puisses jouer sur les propriétés de cette balise, il suffit de rajouter un id.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <link href="titi.css" rel="stylesheet" type="text/css" />
Ensuite, dans ton code, tu peux faire ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <link href="titi.css" rel="stylesheet" type="text/css" id="stylesheet" />
Code : Sélectionner tout - Visualiser dans une fenêtre à part stylesheet.Href = "dark.css"
Ok donc j'ai rajouter l'id dans le code HTML de ma page, j'ai contrôlé ca corresond bien a ce que tu as indiqué maintenat.
Mais par contre dans mon code que je tape :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Me.page.stylesheet ou stylesheet
il me dit Name 'stylesheet' is not declared !
Mais je dois bien avoué que je ne sais pas bien où ni comment le déclarer !?
J'avoue que je n'ai rien fait de plus que ce que je t'ai expliqué![]()
Montre toujours le code html et le code vb.net correspondant au changement de stylesheet, on sait jamais.
Je sais pas... tu ne dois pas inclure une classe ou qqch tu dois bien le déclarer qq part non ?
j'ai trouvé la classe suivante :
Dim style As New System.Web.UI.WebControls.Style
qui me permet en suite d'utiliser la méthode suivante :
style.CssClass.Replace("old style", "new style")
Par contre je sais pas comment faire le liens avec le style déclarer dans le <Link>... est-ce que du coup il faut procéder différement ?
Si tu a mis :
Alors le lien est tout trouvé
Code : Sélectionner tout - Visualiser dans une fenêtre à part <link Id=Style runat=server....![]()
Bon désolé mais j'ai vraiment de la peine...
Alors au niveau page.aspx j'ai :
Au niveau de la page.aspx.vb
Code : Sélectionner tout - Visualiser dans une fenêtre à part <LINK id="Style" href="../StylesOrange.css" type="text/css" rel="stylesheet">
J'ai tout d'abord la déclaration d'une variable style :
Et en suite dans mon code .
Code : Sélectionner tout - Visualiser dans une fenêtre à part Protected WithEvents style As New System.Web.UI.WebControls.Style
Code : Sélectionner tout - Visualiser dans une fenêtre à part style.CssClass.Replace(style.CssClass, "StylesBleu.css")
Mes fichier css s'appelant StylesOrange.css et StylesBleu.css et se trouvant à la racine du projet
Mais cela fonctionne pas, tout d'abord style.CssClass me rend une valeur vide et si je triche en indiquant "StylesOrange.css" à la place, rien ne se passe non plus.
PS Je n'ai pas mis le runnat="Server" car chaque fois le server me retourne une parse erreur lorsque j'essai d'afficher la page !
Apres un peu de recherches voila ma solution pour faire ce que tu veux :
Tu cree a la racine un repertoire "App_Themes"
Dedans tu cree un repertoire "bleu"
Dans ce repertoire, tu met ta feuille de style
ensuite tu met dans ton code (désolé C# ) :
si tu veux un autre theme , tu cree un autre repertoire dans le repertoire "App_Themes".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 protected override void OnPreInit(EventArgs e) { Page.Theme = "bleu"; base.OnPreInit(e); }
Apres tu n'as plus qu'a gérer tout ca pour changer de themes dans le
onpreinit..
En esperant t'avoir un peu aidé..
Je te remercie, malheureusement ca m'aide pas des masses dans le sens ou il n'y pas de paramètre "Theme" pour la classe Page en VB.Net donc... je vois pas trop comment faire...
Partager