i ont un répéteur que crée une table:asp.NET: Comment accéder aux éléments générés par le répéteur?
<itemtemplate>
<tr id="theTableRow" runat="server">
<td>
<asp:LinkButton runat="server"
OnClientClick="todo"
Text="Do Something" />
</td>
</tr>
</itemtemplate>
Note: la ligne OnClientClick="todo"
.
Dans le code rendu définitif, je veux le todo pour contenir un appel à une fonction javascript, en passant:
- l'ID de la ligne de table générée, et
- la Eval d'une propriété de l'objet actuellement lié
Et maintenant pour une pseudo-code :
Pseudocode 1:
OnClientClick = "DoSomething (theTableRow, CromulentGuid); return false; "
pseudocode 2
OnClientClick =" javascript: DoSomething (theTableRow, CromulentGuid); return false; "
3 pseudocode
OnClientClick = "javascript: DoSomething (theTableRow, <% # Eval (" CromulentGuid")%>); return false; "
4 pseudocode
OnClientClick = "javascript: DoSomething (<% = theTableRow%>, <% # Eval (" CromulentGuid")%>); return false; »
pseudocode 5
OnClientClick = 'javascript: DoSomething (<% = Eval (theTableRow)%>, <% # Eval ("CromulentGuid")%>); return false;'
Quel que soit le code ASP.NET utilisé, je veux le rendu HTML soit:
<tr id="ctl00__itemRepeater_ctl01_theTableRow">
<td>
<a
onclick="DoSomething('ctl00__itemRepeater_ctl01_theTableRow', '19a149db-5675-4eee-835d-3d78372ca6f9'); return false;"
href="javascript:__doPostBack('ctl00$itemRepeater$ctl01$ctl04','')">
Do Something
</a>
</td>
</tr>
Je serais aussi d'accord avec:
<tr id="ctl00__itemRepeater_ctl01_theTableRow">
<td>
<a
onclick='DoSomething("ctl00__itemRepeater_ctl01_theTableRow", "19a149db-5675-4eee-835d-3d78372ca6f9"); return false;'
href="javascript:__doPostBack('ctl00$itemRepeater$ctl01$ctl04','')">
Do Something
</a>
</td>
</tr>
Note: Je suis d'accord avec la 2ème forme puisque je sais qu'elle est fonctionnellement identique, et le code ASP.NET ne peut pas générer le premier, même si ce dernier est moins lisible.
questions connexes:
ASP.NET: How to access repeater generated elements from javascript?
Je ne peux pas utiliser un pur, car j'ai besoin de la solution de repli au comportement asp.net/postback/onClick lorsque le script n'est pas là. –
Notez que la propriété href du bouton de lien s'affiche en tant que javascript: le repli ne fonctionne donc pas vraiment. –