DataDrid ou GridView et id automatique
Bonjour,
Savez-vous s'il existe un moyen d'empêcher l'attribution automatique d'id DANS un DataGrid (ou un GridView). Par exemple, dans une page, si vous avez quelque chose de semblable à ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| <asp : DataGrid id="dg" runat="server" OnItemDataBound="dg_ItemDataBound" ...>
....
<asp:TemplateColumn HeaderText="blabla">
<HeaderStyle horizontalalign="Center" verticalalign="Middle"> </HeaderStyle>
<ItemStyle horizontalalign="Center"></ItemStyle>
<ItemTemplate>
<asp:Label id="labCode" runat="server" text='<%# DataBinder.Eval( container, "DataItem.CODE" ) ) %>' />
</ItemTemplate>
</asp:TemplateColumn>
....
</asp : DataGrid>
Dans la page "HTML" envoyée au navigateur, vous obtenez quelque chose comme :
<table>
...
<tr>
...
</td><td>
<span id="dg_ctl02_labCode">blabla</span>
</td><td>
...
</tr>
<tr>
...
</td><td>
<span id="dg_ctl03_labCode">un autre blabla</span>
</td><td>
...
</tr>
...
</table> |
Ce que je souhaiterais, c'est pouvoir attribuer moi-même un id à chaque span généré (pour en faire usage dans du Javascript généré par code).
A défaut, je peux tenter de le "déduire", dans la mesure où l'attribution automatique semble respecter une règle simple : <id_du_datagrid> + '_ctl' + <numero de la ligne sur 2 positions complété à gauche par des zéros' + '_' + <id du controle "asp.net">.
Afin de vous éclairez sur le contexte, j'ai pour habitude d'intervenir au moment du "ItemDataBound" et c'est à cet instant que j'aimerais pouvoir connaitre (ou attribuer) l'id (unique) des différents "controles HTML" générés automatiquement.
Avez-vous une solution, ou à défaut une piste ?