Récupérer valeur d'une textbox dans un repeater.
Bonjour,
je viens vers vous car je bloque sur un point. J'ai une page ASP dans laquelle j'ai défini un repeater qui se compose d'un itemtemplate contenant textbox et label.
Je lie mon repeater à ma source de donnée. Jusque là rien à signaler.
Le problème survient lorsque je modifie une valeur dans une des textbox. Quand je valide en cliquant sur mon bouton, je parcourt bien les textbox de mon repeater mais
il me garde les valeurs inchangées. Et la je n'y comprend rien. Admettons que ma textobx de base contient "test", je change par "?" et lorsque je boucle sur les items de mon repeater
je n'ai pas "?" mais j ai toujours l'ancienne valeur "test".
Y a-t-il quelque chose de particulier à faire ?
Dans le doute voici le code :
Dans le page load :
Code:
1 2
| tbGloss.DataSource = _gloss
tbGloss.DataBind() |
Dans l'évènement clique de mon bouton
Code:
1 2 3 4 5
| For i As Integer = 0 To tbGloss.Items.Count - 1 'For Each item As RepeaterItem In tbGloss.Items
Dim libelle As TextBox = CType(tbGloss.Items(i).FindControl("tbLibelle"), TextBox)
Dim tooltip As TextBox = CType(tbGloss.Items(i).FindControl("tbTooltip"), TextBox)
DBRegistreTraitement.UpdateGlossaire(New Glossaire(cmbTypeDonnee.SelectedValue, i, libelle.Text, tooltip.Text))
Next |
Dans ma ASP :
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
| <asp:Content runat="server" ContentPlaceHolderID="ContentPlaceHolderBody">
<table class="cadre" >
<tr>
<th class="centrer">
<asp:Label ID="lbTypeDonnee" runat="server" Text="Type de données"></asp:Label></th>
<th>
<asp:DropDownList ID="cmbTypeDonnee" AutoPostBack="true" runat="server"></asp:DropDownList></th>
</tr>
<asp:Repeater ID="tbGloss" runat="server">
<ItemTemplate>
<tr>
<td><asp:Label ID="lbLibelle" runat="server" Text="Libellé :"></asp:Label>
<asp:TextBox ID="tbLibelle" runat="server" Text='<%# Eval("Libelle") %>'></asp:TextBox></td>
<td><asp:Label ID="lbTooltip" runat="server" Text="Tooltip :"></asp:Label>
<asp:TextBox ID="tbTooltip" runat="server" Text='<%# Eval("Tooltip") %>'></asp:TextBox></td>
</tr>
</ItemTemplate>
</asp:Repeater>
<tr class="centrer">
<td colspan="2">
<asp:Button ID="btModif" runat="server" Text="Valider" /></td>
</tr>
</table>
</asp:Content> |