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 :

Ajouter un link vers un fichier CSS à partir du CodeBehind


Sujet :

ASP.NET

  1. #1
    Membre extrêmement actif
    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 : 54
    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
    Points : 1 434
    Points
    1 434
    Par défaut Ajouter un link vers un fichier CSS à partir du CodeBehind
    Salut

    J'ai fais un composant utilisateur. Ce composant est assez complexe et inclu d'autres composants.

    Pour les mise en forme des élément je voudrais utiliser du CSS à partir d'un fichier. Et comme j'aimerais pouvoir balancer le nom et le chemin de ce fichier de manière dynamique je vais stocker dans la base une donnée texte qui conrrespond à son chemin.

    Sauf que maintenant, je suis confronté au problème d'indiquer le chemin de ce fichier. Le code HTML du Composant n'accepte pas la balise <link>
    Donc je me demande s'il n'est pas possible de faire appelle à un truc du genre Me.PAge ou Me.Parent à partir du CodeBehind, dans le Init du composant, par exemple.

    Mais je trouve rien, vous pouvez m'aider ?

  2. #2
    Membre averti Avatar de predalpha
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 392
    Points : 363
    Points
    363
    Par défaut
    Dim HLnk_CSS AsNew HtmlLink
    HLnk_CSS.Attributes.Add(
    "rel", "stylesheet")
    HLnk_CSS.Attributes.Add(
    "type", "text/css")
    HLnk_CSS.Attributes.Add(
    "href", "css/Plannif.css")
    Me.Page.Header.Controls.Add(HLnk_CSS)

    En espérant que cela t'aidera.


  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Points : 411
    Points
    411
    Par défaut
    Manque un test pour verifier que tu ne rajoute pas 15 fois ton meme lien dans ta page ( si tu uc est utilisé plusieurs fois dans la meme page )

  4. #4
    Membre extrêmement actif
    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 : 54
    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
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci PredAlpha, ça marche super bien.
    Par contre, nah666, j'ai un peu de mal à mettre au point le test.
    Pour le cas qui m'occupe, je suis tranquille, le UC ne sera pas placé plusieurs fois dans la page, mais je peux en avoir besoins dans d'autre cas.

    Pourrais tu m'aiguiller sur la nature du test à faire ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Points : 411
    Points
    411
    Par défaut
    Salut,

    me.page.header.controls te retourne une collection de controles,
    Sur ta collection de controles, tu as bien une fonction 'contains' qui te retourne un boolean, mais comme cette fonction utilise le referenceEquals, tu aura toujours faux dans ton cas !

    donc faut la parcourir a la main :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
            Dim MyLink As New HtmlLink
            MyLink.Attributes("href") = "css/Plannif.css"
     
            Dim Found As Boolean = False
            For Each c As Control In Me.Page.Header.Controls
                If TypeOf c Is HtmlLink Then
                    Dim oLink As HtmlLink = c
                    If oLink.Attributes("href") = MyLink.Attributes("href") Then
                        Found = True
                    End If
                End If
            Next
            If Not Found Then
                Me.Page.Header.Controls.Add(MyLink)
            End If
    dis moi si besoin d'explications

  6. #6
    Membre extrêmement actif
    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 : 54
    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
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci nah666, ça marche super bien.

    Je me faisais une réflexion : en fait, lorsqu'on veut ajouter un truc à la volée, il faut plonger dans la structure de la page. J'avais pas encore pris conscience de ce principe. C'est vraiment trop top. .NET est vraiment bien branlé.

    Ensuite, le truc que tu viens de me filer est carrément génial, je pense que je vais l'utiliser dans d'autre cas, je n'avais aucune idée que l'on pouvait faire un truc pareil.

    Donc merci à tous les deux, en plus de me solutionné un problème précis, vous m'avez permis de découvrir une facette de .NET que je ne connaissais pas.

    Autre point plus personnel et direct : nah666, tu es métalleux ? Plutôt Blackeux ou carrément gothic ou standard ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Points : 411
    Points
    411
    Par défaut
    Oui j'aime bien le metal, mais le pseudo a rien a voir

    Parmi les choix que tu propose j'opterai pour standart, j'ai un peu du mal avec le black meme si certains groupes passent

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. renvoi d'informations vers un fichier exel à partir d'une USERFORM
    Par chrnoe dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 03/07/2012, 23h13
  2. [Toutes versions] Ajouter une colonne dans un fichier dbf à partir d'ACCESS
    Par loufab dans le forum Contribuez
    Réponses: 2
    Dernier message: 13/05/2012, 14h07
  3. Peut on vérifier une URL vers un fichier css
    Par Freud44 dans le forum ASP.NET
    Réponses: 9
    Dernier message: 17/08/2010, 17h34
  4. redirection vers un fichier a partir d'une servlet
    Par air75 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 03/02/2008, 22h34
  5. [DOM] [XSL] Convertir un fichier XML vers un fichier CSS
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 23/03/2007, 11h49

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