OVH Cloud OVH Cloud

Chargement d'une CSS sur toutes les pages du site

8 réponses
Avatar
Steeve Hétu
Bonjour,

Supposons que j'ai 3 feuilles CSS pour un site. Je voudrais que selon
les préférences d'un utilisateur inscrit sur le site, sa feuille de
style CSS se load automatiquement à chaque page en vérifiant ses
préférences dans la base de données. Les utilisateurs non-inscrit
utiliserait la feuille de style par défault.

J'ai trouvé un bout de code pour le faire pour une seule page, mais
comment faire pour le généraliser à tout le site d'un coup sans avoir à
copier-coller un bout de code à chaque page_load de chaque page ?

Steeve

Voici ce que j'ai trouvé :

<head>
<link id="MyStyleSheet" rel="stylesheet" type="text/css" runat="server" />
</head>

Then in your Page_Load, simply add a "href" attribute as below:

Sub Page_Load(Sender As Object, E As EventArgs)
If Not (IsPostBack)
MyStyleSheet.Attributes.Add("href","/css/flostyle.css")
End If
End Sub

8 réponses

Avatar
Paul Bacelar
Thème avec .NET 1.1 et personalisation comme cas particulier.
http://msdn.microsoft.com/msdnmag/issues/04/05/CuttingEdge/default.aspx
--
Paul Bacelar

"Steeve Hétu" wrote in message
news:uE0z8iz$
Bonjour,

Supposons que j'ai 3 feuilles CSS pour un site. Je voudrais que selon
les préférences d'un utilisateur inscrit sur le site, sa feuille de
style CSS se load automatiquement à chaque page en vérifiant ses
préférences dans la base de données. Les utilisateurs non-inscrit
utiliserait la feuille de style par défault.

J'ai trouvé un bout de code pour le faire pour une seule page, mais
comment faire pour le généraliser à tout le site d'un coup sans avoir à
copier-coller un bout de code à chaque page_load de chaque page ?

Steeve

Voici ce que j'ai trouvé :

<head>
<link id="MyStyleSheet" rel="stylesheet" type="text/css" runat="server" />
</head>

Then in your Page_Load, simply add a "href" attribute as below:

Sub Page_Load(Sender As Object, E As EventArgs)
If Not (IsPostBack)
MyStyleSheet.Attributes.Add("href","/css/flostyle.css")
End If
End Sub


Avatar
Steeve Hétu
Je ne cherche pas à seulement personnaliser les controls (couleur,
taille, etc..) mais aussi à changer la disposition du site au complet.
(Ex: positionner les DIV à des endroits différents comme le fait le site
www.csszengarden.com) C'est pour cette raison que j'ai besoin de chager
de feuille de style au complet.

Steeve


Thème avec .NET 1.1 et personalisation comme cas particulier.
http://msdn.microsoft.com/msdnmag/issues/04/05/CuttingEdge/default.aspx


Avatar
Paul Bacelar
Si tu lis l'article tu verras que les styles des pages sont aussi dans la
personnalisation.

Chaque utilisateur peut avoir la référence à un CSS pour lui tout seul.

Lis l'article et on en reparlera ;-)
--
Paul Bacelar


"Steeve Hétu" wrote in message
news:eWabd60$
Je ne cherche pas à seulement personnaliser les controls (couleur,
taille, etc..) mais aussi à changer la disposition du site au complet.
(Ex: positionner les DIV à des endroits différents comme le fait le site
www.csszengarden.com) C'est pour cette raison que j'ai besoin de chager
de feuille de style au complet.

Steeve


> Thème avec .NET 1.1 et personalisation comme cas particulier.
> http://msdn.microsoft.com/msdnmag/issues/04/05/CuttingEdge/default.aspx


Avatar
Steeve Hétu
oupss... dsl !
:)


Si tu lis l'article tu verras que les styles des pages sont aussi dans la
personnalisation.

Chaque utilisateur peut avoir la référence à un CSS pour lui tout seul.

Lis l'article et on en reparlera ;-)


Avatar
Steeve Hétu
J'ai lu l'article comme il faut je pense, mais ce n'est pas ce que je
cherche.

Je ne vois pas comment changer dynamiquement une balise <LINK> dans
chaque page web avec fonction de la valeur lu dans la base de données
par exemple ou un cookie.

Steeve.


Si tu lis l'article tu verras que les styles des pages sont aussi dans la
personnalisation.

Chaque utilisateur peut avoir la référence à un CSS pour lui tout seul.

Lis l'article et on en reparlera ;-)


Avatar
olivier vidal
bonjour

avec une balise link
<link id="CSSLink" href="/default.css" type="text/css" rel="stylesheet"
runat="server"/>

et la déclaration côté serveur :
protected System.Web.HtmlControls.HtmlGenericControl CSSLink;
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
CSSLink.Attributes["href"] = "/styles_office.css";
}
}

"Steeve Hétu" a écrit dans le message de news:
#T2RLF2$
J'ai lu l'article comme il faut je pense, mais ce n'est pas ce que je
cherche.

Je ne vois pas comment changer dynamiquement une balise <LINK> dans
chaque page web avec fonction de la valeur lu dans la base de données
par exemple ou un cookie.

Steeve.


> Si tu lis l'article tu verras que les styles des pages sont aussi dans


la
> personnalisation.
>
> Chaque utilisateur peut avoir la référence à un CSS pour lui tout seul.
>
> Lis l'article et on en reparlera ;-)


Avatar
Steeve Hétu
Je crois que vous ne comprenez pas ce que je veux exactement!

Je vais tenter de réexpliquer. ;-)

Je ne veux pas écrire ce bout de code dans toutes les pages mais à
seulement un endroit dans mon application. (Ex: écrire ce code dans une
classe BasePage et p-e la faire intéragir avec global.asax ou
web.config) mais je ne sais pas comment faire ?

Merci
Steeve

bonjour

avec une balise link
<link id="CSSLink" href="/default.css" type="text/css" rel="stylesheet"
runat="server"/>

et la déclaration côté serveur :
protected System.Web.HtmlControls.HtmlGenericControl CSSLink;
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
CSSLink.Attributes["href"] = "/styles_office.css";
}
}

"Steeve Hétu" a écrit dans le message de news:
#T2RLF2$

J'ai lu l'article comme il faut je pense, mais ce n'est pas ce que je
cherche.

Je ne vois pas comment changer dynamiquement une balise <LINK> dans
chaque page web avec fonction de la valeur lu dans la base de données
par exemple ou un cookie.

Steeve.



Si tu lis l'article tu verras que les styles des pages sont aussi dans





la

personnalisation.

Chaque utilisateur peut avoir la référence à un CSS pour lui tout seul.

Lis l'article et on en reparlera ;-)









Avatar
Paul Bacelar
Ce code doit être mis dans la page de Base et toutes les pages du site
doivent en dériver.

Je crois que Steeve est bon pour faire une moulinette de Search and Replace
;-)
--
Paul Bacelar


"Steeve Hétu" wrote in message
news:uu9kzD#$
Je crois que vous ne comprenez pas ce que je veux exactement!

Je vais tenter de réexpliquer. ;-)

Je ne veux pas écrire ce bout de code dans toutes les pages mais à
seulement un endroit dans mon application. (Ex: écrire ce code dans une
classe BasePage et p-e la faire intéragir avec global.asax ou
web.config) mais je ne sais pas comment faire ?

Merci
Steeve

> bonjour
>
> avec une balise link
> <link id="CSSLink" href="/default.css" type="text/css" rel="stylesheet"
> runat="server"/>
>
> et la déclaration côté serveur :
> protected System.Web.HtmlControls.HtmlGenericControl CSSLink;
> private void Page_Load(object sender, System.EventArgs e)
> {
> if (!IsPostBack)
> {
> CSSLink.Attributes["href"] = "/styles_office.css";
> }
> }
>
> "Steeve Hétu" a écrit dans le message de


news:
> #T2RLF2$
>
>>J'ai lu l'article comme il faut je pense, mais ce n'est pas ce que je
>>cherche.
>>
>>Je ne vois pas comment changer dynamiquement une balise <LINK> dans
>>chaque page web avec fonction de la valeur lu dans la base de données
>>par exemple ou un cookie.
>>
>>Steeve.
>>
>>
>>
>>>Si tu lis l'article tu verras que les styles des pages sont aussi dans
>
> la
>
>>>personnalisation.
>>>
>>>Chaque utilisateur peut avoir la référence à un CSS pour lui tout seul.
>>>
>>>Lis l'article et on en reparlera ;-)
>
>
>