IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Placer un Link CSS depuis le CodeBehind


Sujet :

ASP.NET

  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Placer un Link CSS depuis le CodeBehind
    Bonjour tout le monde.

    Je me pose une question à laquelle je ne trouve pas de réponse dans mes recherche avec mon ami Google.

    Vous savez tous placer un lien CSS dans le Head avec la phrase suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href='/style/Generale.css' rel='stylesheet' type='text/css' />
    Je cherche à faire la même choe à partir du CodeBehind.

    Est ce que vous savez si c'est possible et si oui, comment ?

    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Salut Zooffy,

    une idée comme ça, au passage : pourquoi ne pas mettre un runat="server" sur ton head ?
    De cette manière tu pourrais le manipuler dans ton code behind.

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Salut Calagan99

    Voici mon Head :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <head id="Head1" runat="server">
    Maintenant le manipuler, ben pourquoi pas, sauf que je sais pas trop comment faire. Je me doute que, vu ton intervention et la grandeur d'esprit de Microsoft, il doit y avoir pas mal de chose à disposition pour injecter des trucs dans le Head et ainsi se dédouanner de toutes (ou presque) déclarations HTML.

    C'est vrai que j'aimerais bien, je pourrais piloter mes sites intégralement depsuis la BDD avec ça.

    Mais voilà, je ne sais pas où trouver une truc qui me donne la liste exhaustive des possibilités offertes.

    Content de te recroiser.

  4. #4
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    Si tu utilises des MasterPages, le plus simple est d'ajouter un runat="server" à ta balise Head, puis d'y insérer un ContentPlaceHolder.

    Ainsi, dans tes pages, tu pourras déclarer tout ce que tu veux facilement, ou bien ajouter dynamiquement ce que tu veux dans le code-behind (donc à partir de ta config stockée dans ta base de données).

    En espérant t'avoir aidé.

  5. #5
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Bah maintenant que tu peux manipuler ton head dans le code behind, tu n'as plus qu'à créer un HtmlGenericControl dans lequel tu colles ton Link ou à ajouter un Literal contenant ton link à la collections de Controls de ton Head.

  6. #6
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    Salut,

    HtmlLink
    est une classe qui permet d'ajouter facilement par programme une balise <link> HTML.
    Pour l'utiliser, il faut s'assurer déjà que la balise <head> contien runat="server"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <head runat="server"></head>
    Ensuite l’implémentation se fait très vite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            HtmlLink monLien = new HtmlLink();
            monLien.Href = "/style/Generale.css";
            monLien.Attributes.Add("rel", "stylesheet");
            monLien.Attributes.Add("type", "text/css");
            Page.Header.Controls.Add(monLien);
    Et si tu fais "View source de la page Web":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <head>
        <title></title>
        <link href="/style/Generale.css" rel="stylesheet" type="text/css" />
    </head>
    a+

  7. #7
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci les gars.

    Nicolas, ce que tu décris, je le fais depuis environ 6 mois. Mais c'est cool de voir que je ne me trompais pas grâce à ton intervention.

    Pour le Link, c'est bon, fais comme tu dis Ramajb.

    Calagan99 : un LiteralControl, ça va me faire un truc qui va recevoir des chaines pures et dures. Ce LiteralControl, je peux l'ajouter au ContentPlaceHolder.

    Mais est qu'il n'y a pas un truc plus sexy, genre le htmlLink pour les autres balises du Head telle que le Title ou les Meta ?

  8. #8
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Par défaut
    Bonjour,
    Une solution que je pense plus simple :

    tu met le runat=server sur le link lui même avec un id (suffisant):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link runat="server" id="exemp" href="fichierstyle.css" />
    Sur le code behind tu peut changer le fichier css

    J’espère avoir t'aider

    Jamal MELLAL
    www.ejob.ma

  9. #9
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    C'est une idée, et c'est simple.

    Seulement si tu as besoin de rajouter plusieurs références à des fichiers css ou javascript, tu seras obligé de mettre runat="server" sur la balise Head plutôt.

  10. #10
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci Jamal pour ton idée. Elle est bien mais ne correspond pas tout à fait à mon besoins. La remarque de Nicolas est judicieuse car je vais me retrouver confronté ce genre de possibilité.

    En résumé, ce qu'il me faudrait c'est une sorte de liste de contrôle du même genre que HtmlLink qui se mette dans le Head que je placerais dans un ContentPlaceHolder qui se trouve dans le Head de ma MasterPage ou de Ma page (en fonction du site réalisé).

    En fait j'ai déjà un ContentPalceHolder dans le Head de ma MasterPage et j'ai fait un bricolage pas possible pour mettre des Meta dedans. Je cherche maintenant à faire un truc plus propre et plus sexy.

    Je ne trouve pas la liste des contrôles du genre HtlmLink.

    Bon week-end les gars.

Discussions similaires

  1. [FLASH 8] Changer background du css depuis flash
    Par jbidou88 dans le forum Flash
    Réponses: 4
    Dernier message: 04/04/2009, 13h52
  2. Réponses: 6
    Dernier message: 04/06/2008, 10h48
  3. balise link css/html
    Par sadkill dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 25/01/2007, 11h11
  4. [jsp/servlet]lien vers une css depuis ma jsp
    Par rvfranck dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 10/04/2006, 12h45
  5. Réponses: 3
    Dernier message: 18/02/2005, 10h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo