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