merci cela fonctionne parfaitement grace un changement du "inherits" dans toutes mes pages par un Inherits MyBasePage ' au lieu de System.Web.UI.Page
MyBasePage etant une classe VB se trouvant dans un nouveau dossier App_Code dont voici le debut.... Imports System.Web.UI.Page Public Class MyBasePage Inherits System.Web.UI.Page
Protected Overrides Sub OnPreInit(ByVal e As System.EventArgs) MyBase.OnPreInit(e) Dim MyProfile As System.Web.Profile.ProfileBase MyProfile = HttpContext.Current.Profile Me.MasterPageFile = MyProfile.GetPropertyValue("MasterFilePreference") Me.Theme = MyProfile.GetPropertyValue("ThemePreference") ........
j'ai cependant un autre probleme ma master page DOIT AVOIR LE FICHIER CSS ASSOCIE AU MEME ENDROIT QUE LA MASTERPAGE !!!!! ma masterpage utilise du pur css, tout fonctionne parfaitement quand je met le fichier css dans le dossier des themes sauf la ligne de menu utilisant une image decalée pour faire une sorte de rollover extrait du css.....
/* On donne une hauteur au menu, correspondant a la taille de l'image utilisée en fond, on met ensuite l'image de fond avec un decalage de 25 pixels vers le haut pour utiliser la technique de roll over */ ul#menu {height: 35px; margin: 0; padding: 0; background: url(App_Themes/Default/bg_menu.gif) repeat-x 0px -25px; list-style-type: none;}
/* On rend les li en flottant pour pouvoir les afficher horizontalement, on cache les puces, et on centre le texte */ ul#menu li { float: left ; text-align: center ; }
/* C'est sur les liens que le gros du travail est effectué : largeur, hauteur de ligne, taille de police, graisse de police, espacement des lettres, couleur, bordure et decoration du texte. Nous pouvons dimensionner les a grace . la propriete display: block ; */ ul#menu li a { width: 130px ; line-height: 25px ; font-size: 1.2em ; font-weight: bold ; letter-spacing: 2px ; color: #fff ; display: block ; text-decoration: none ; border-right: 2px solid #ffd700 ; }
/* Et pour finir on decale l'image de fond au passage de la souris pour laisser aparaitre l'etat survolé de l'image */ ul#menu li a:hover {background: url(App_Themes/Default/bg_menu.gif) repeat-x 0px 0px;}
Normalement dans le dossier theme je dois avoir le fichier css, le fichier skin et les fichiers xml pour les rotator (par exemple) et bien dans mon cas, je suis obligé de mettre les css a la racine du site (avec les pagemaster), pas de probleme avec le fichier skin si je mets le css dans les dossiers de theme, tout marche sauf les menu rollover !!!!! ce qui m'oblige a avoir dans ma masterpage la notation "en dur" de ma css
<%@ Master Language="VB" CodeFile="Default.master.vb" EnableTheming="true" Inherits="DefaultMasterPage" Debug="true" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" >
je precise que j'ai un master page par saison a la racine de mon site et que c'est le fichier MyBasePage.vb qui en fonction de la date determine quel est le "bon" masterpage a afficher (avec le bon theme). Il est donc genant pour moi de ne pas avoir dans les dossiers themes, les css !
"S?bastien HOUZET" a écrit dans le message de news:
Tu peux utiliser dans ta masterPage :
Page.Theme = "nomDuThme"
merci cela fonctionne parfaitement grace un changement du "inherits" dans
toutes mes pages par un Inherits MyBasePage ' au lieu de System.Web.UI.Page
MyBasePage etant une classe VB se trouvant dans un nouveau dossier App_Code
dont voici le debut....
Imports System.Web.UI.Page
Public Class MyBasePage
Inherits System.Web.UI.Page
Protected Overrides Sub OnPreInit(ByVal e As System.EventArgs)
MyBase.OnPreInit(e)
Dim MyProfile As System.Web.Profile.ProfileBase
MyProfile = HttpContext.Current.Profile
Me.MasterPageFile = MyProfile.GetPropertyValue("MasterFilePreference")
Me.Theme = MyProfile.GetPropertyValue("ThemePreference")
........
j'ai cependant un autre probleme ma master page DOIT AVOIR LE FICHIER CSS
ASSOCIE AU MEME ENDROIT QUE LA MASTERPAGE !!!!!
ma masterpage utilise du pur css, tout fonctionne parfaitement quand je met
le fichier css dans le dossier des themes sauf la ligne de menu utilisant
une image decalée pour faire une sorte de rollover
extrait du css.....
/* On donne une hauteur au menu, correspondant a la taille de l'image
utilisée en fond,
on met ensuite l'image de fond avec un decalage de 25 pixels vers le haut
pour utiliser la technique de roll over */
ul#menu
{height: 35px; margin: 0; padding: 0;
background: url(App_Themes/Default/bg_menu.gif) repeat-x 0px -25px;
list-style-type: none;}
/* On rend les li en flottant pour pouvoir les afficher horizontalement,
on cache les puces, et on centre le texte */
ul#menu li
{ float: left ; text-align: center ; }
/* C'est sur les liens que le gros du travail est effectué : largeur,
hauteur de ligne, taille de police, graisse de police, espacement des
lettres, couleur, bordure et decoration du texte.
Nous pouvons dimensionner les a grace . la propriete display: block ; */
ul#menu li a
{ width: 130px ; line-height: 25px ; font-size: 1.2em ; font-weight: bold
; letter-spacing: 2px ; color: #fff ;
display: block ;
text-decoration: none ; border-right: 2px solid #ffd700 ; }
/* Et pour finir on decale l'image de fond au passage de la souris pour
laisser aparaitre l'etat survolé de l'image */
ul#menu li a:hover
{background: url(App_Themes/Default/bg_menu.gif) repeat-x 0px 0px;}
Normalement dans le dossier theme je dois avoir le fichier css, le fichier
skin et les fichiers xml pour les rotator (par exemple)
et bien dans mon cas, je suis obligé de mettre les css a la racine du site
(avec les pagemaster), pas de probleme avec le fichier skin
si je mets le css dans les dossiers de theme, tout marche sauf les menu
rollover !!!!!
ce qui m'oblige a avoir dans ma masterpage la notation "en dur" de ma css
<%@ Master Language="VB" CodeFile="Default.master.vb" EnableTheming="true"
Inherits="DefaultMasterPage" Debug="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
je precise que j'ai un master page par saison a la racine de mon site et que
c'est le fichier MyBasePage.vb qui en fonction de la date determine quel est
le "bon" masterpage a afficher (avec le bon theme). Il est donc genant pour
moi de ne pas avoir dans les dossiers themes, les css !
"S?bastien HOUZET" <keikun59@free.fr> a écrit dans le message de news:
OrEi7FpzGHA.576@TK2MSFTNGP03.phx.gbl...
merci cela fonctionne parfaitement grace un changement du "inherits" dans toutes mes pages par un Inherits MyBasePage ' au lieu de System.Web.UI.Page
MyBasePage etant une classe VB se trouvant dans un nouveau dossier App_Code dont voici le debut.... Imports System.Web.UI.Page Public Class MyBasePage Inherits System.Web.UI.Page
Protected Overrides Sub OnPreInit(ByVal e As System.EventArgs) MyBase.OnPreInit(e) Dim MyProfile As System.Web.Profile.ProfileBase MyProfile = HttpContext.Current.Profile Me.MasterPageFile = MyProfile.GetPropertyValue("MasterFilePreference") Me.Theme = MyProfile.GetPropertyValue("ThemePreference") ........
j'ai cependant un autre probleme ma master page DOIT AVOIR LE FICHIER CSS ASSOCIE AU MEME ENDROIT QUE LA MASTERPAGE !!!!! ma masterpage utilise du pur css, tout fonctionne parfaitement quand je met le fichier css dans le dossier des themes sauf la ligne de menu utilisant une image decalée pour faire une sorte de rollover extrait du css.....
/* On donne une hauteur au menu, correspondant a la taille de l'image utilisée en fond, on met ensuite l'image de fond avec un decalage de 25 pixels vers le haut pour utiliser la technique de roll over */ ul#menu {height: 35px; margin: 0; padding: 0; background: url(App_Themes/Default/bg_menu.gif) repeat-x 0px -25px; list-style-type: none;}
/* On rend les li en flottant pour pouvoir les afficher horizontalement, on cache les puces, et on centre le texte */ ul#menu li { float: left ; text-align: center ; }
/* C'est sur les liens que le gros du travail est effectué : largeur, hauteur de ligne, taille de police, graisse de police, espacement des lettres, couleur, bordure et decoration du texte. Nous pouvons dimensionner les a grace . la propriete display: block ; */ ul#menu li a { width: 130px ; line-height: 25px ; font-size: 1.2em ; font-weight: bold ; letter-spacing: 2px ; color: #fff ; display: block ; text-decoration: none ; border-right: 2px solid #ffd700 ; }
/* Et pour finir on decale l'image de fond au passage de la souris pour laisser aparaitre l'etat survolé de l'image */ ul#menu li a:hover {background: url(App_Themes/Default/bg_menu.gif) repeat-x 0px 0px;}
Normalement dans le dossier theme je dois avoir le fichier css, le fichier skin et les fichiers xml pour les rotator (par exemple) et bien dans mon cas, je suis obligé de mettre les css a la racine du site (avec les pagemaster), pas de probleme avec le fichier skin si je mets le css dans les dossiers de theme, tout marche sauf les menu rollover !!!!! ce qui m'oblige a avoir dans ma masterpage la notation "en dur" de ma css
<%@ Master Language="VB" CodeFile="Default.master.vb" EnableTheming="true" Inherits="DefaultMasterPage" Debug="true" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" >
je precise que j'ai un master page par saison a la racine de mon site et que c'est le fichier MyBasePage.vb qui en fonction de la date determine quel est le "bon" masterpage a afficher (avec le bon theme). Il est donc genant pour moi de ne pas avoir dans les dossiers themes, les css !
"S?bastien HOUZET" a écrit dans le message de news: