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 :

asp.net et css -> les ID changent


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 41
    Points : 24
    Points
    24
    Par défaut asp.net et css -> les ID changent
    Bonjour a tous,

    je viens de me mettre a l'asp.net (c#) car je dois faire un site web dans ce langage.
    J'ao donc fait mon site en XHTML + CSS en mettant des id et des class sur certains de mes attributs (div etc.)

    Une fois le passage a l'aspx, j'ai modifie certaines div en Panel pour avoir le controle dessus (le Panel devient un Div une fois genere, de meme le label devient un span).
    Cependant, mes ID ont ete modifies par le framework une fois la page generee.
    Mes CSS ne sont alors plus prises en compte.

    J'ai resolu le probleme en ajoutant l'atttribut cssClass et en changeant la css.
    Mais, bien que cette question doit vous paraitre stupide, comment garder son ID avent et apres la compilation ?

    Je sais que .net le mofifie afin de s' assurer que chaque ID est unique, mais, je peux le faire moi meme ca

    Merci !

    PS : desole s'il n y a pas d'accents, je suis en Chine sur un clavier qwerty !

  2. #2
    Membre habitué Avatar de akecoocoo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 78
    Points : 146
    Points
    146
    Par défaut
    Ce qui suit était valable pour asp.net 1.0, il l'est toujours pour asp.net 2.0 mais il y a peut être un moyen plus "propre" désormais, quoiqu'il en soit, en attendant qu'une autre personne t'expose sa vue, voici la mienne :

    L'attribut ID est utilisé pour l'unicité des composants de ta webform. Dans le rendu HTML, tes balises se voient attribuées un ID automatiquement qui peut ne pas correspondre à celui spécifié dans le fichier aspx.

    Si tu crées un contrôle utilisateur (fichier .ascx) de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Textbox id="TextBoxA" runat="server"/>
    et que tu l'inclues de multiples fois dans une webform, le moteur d'asp.net générera l'html suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <input type="text" id="_ctr1:TextBoxA" />
    <input type="text" id="_ctr2:TextBoxA" />
    <input type="text" id="_ctr3:TextBoxA" /> ... etc
    Si tu souhaites retrouver les identifiants de ta maquette HTML, utilise des balises asp.net qui ne génèrent pas de code de formatage :

    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
     
    <style>
        #PanneauRouge {
            color: red;
        }
    </style>
    <!-- ce panneau fonctionnera s'il se situe dans une page aspx 
           le div généré aura bien l'attribut ID="PanneauRouge"
           mais dans d'autres cas de figure, l'ID pourra être différent -->
    <asp:Panel runat="server" ID="PanneauRouge">
        this is red
    </asp:Panel>
    <!-- le placeholder suivant contient le balisage que tu souhaites -->
    <asp:PlaceHolder runat="server" ID="PlaceHolderPanneauRouge">
    <div ID="PanneauRouge">this is red</div>
    </asp:PlaceHolder>

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 41
    Points : 24
    Points
    24
    Par défaut
    Merci akecoocoo pour ta reponse.
    Etant donne que mes div contiennent du code de formatage, les ID sont donc modifiees.
    J'ai compris ce que tu proposais, mais il m'est plus simple de changer les id en class.

    Autre question : ma page n'est plus valide XHTML a cause des VIEWSTATE generes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    line 10 column 1 - Warning: <input> ID "__EVENTTARGET" uses XML ID syntax
    line 11 column 1 - Warning: <input> ID "__EVENTARGUMENT" uses XML ID syntax
    line 12 column 1 - Warning: <input> ID "__LASTFOCUS" uses XML ID syntax
    line 13 column 1 - Warning: <input> ID "__VIEWSTATE" uses XML ID syntax
    line 401 column 2 - Warning: <input> ID "__EVENTVALIDATION" uses XML ID syntax
    Saurais-tu comment gerer ce probleme ?

  4. #4
    Membre habitué Avatar de akecoocoo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 78
    Points : 146
    Points
    146
    Par défaut
    nope ça je ne sais pas, mais elle est valide non ? ce ne sont que des warnings pas des errors

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 41
    Points : 24
    Points
    24
    Par défaut
    lol
    oui, ce ne sont que des warnings, mais je suis un peu maniaque...

Discussions similaires

  1. [ASP.NET] Problèmatiques rencontrées pendant les devs
    Par lutecefalco dans le forum Framework .NET
    Réponses: 1
    Dernier message: 08/05/2007, 21h09
  2. [ASP.NET][C#]Comment modifier les entetes d'un DataGrid?
    Par Cervantes dans le forum ASP.NET
    Réponses: 2
    Dernier message: 11/04/2007, 17h51
  3. [ASP.NET] Server.Execute et les PostBack
    Par Fondateur0426 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 09/02/2007, 14h37
  4. [C#/ASP.Net/DAL] Quelles sont les bonnes pratiques ?
    Par fouhaa dans le forum Accès aux données
    Réponses: 4
    Dernier message: 13/07/2006, 23h54
  5. Réponses: 5
    Dernier message: 28/11/2005, 09h52

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