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 :
<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 :
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 :
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> |
Partager