Bonjour,
Dans une page, j'ai un repéteur :
Code aspx : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <asp:Repeater runat="server" ID="RepeaterTickets" ItemType="Ticket"> <ItemTemplate> <tr> <td> <hr /> </td> </tr> <tr> <td> <%# Item.Start.ToString("dd/MM/yyyy HH:mm") %> - <%# Item.End.ToString("HH:mm") %><br /> <asp:Label AssociatedControlID="TxtSubTicketName" Text="Sujet : " runat="server"/><asp:TextBox ID="TxtSubTicketId" runat="server" style="display:none" Text="<%# Item.Id %>" /><asp:TextBox ID="TxtSubTicketName" runat="server" Text="<%# Item.Name %>" /><br /> <asp:Label AssociatedControlID="TxtSubTicketDescription" Text="Résumé : " runat="server"/><br /><asp:TextBox ID="TxtSubTicketDescription" runat="server" TextMode="MultiLine" placeholder="Description complète des actions menées..." Text="<%# Item.Description %>"/><br /> </td> </tr> </ItemTemplate> </asp:Repeater>
Je l'alimente dans mon !IsPostBack :
Code csharp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 RepeaterTickets.DataSource = ticket.Children; RepeaterTickets.DataBind();
Et j'ai un bouton Save :
Code aspx : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <asp:Button ID="BtnSave" Text="Enregistrer" runat="server" OnClick="BtnSave_Click" CssClass="btnsubmit" Enabled="false" />
Dont voici le code :
Code csharp : Sélectionner tout - Visualiser dans une fenêtre à part
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 protected void BtnSave_Click(object sender, EventArgs e) { foreach (RepeaterItem item in RepeaterTickets.Items) { int SubTicketId = int.Parse(((TextBox)item.FindControl("TxtSubTicketId")).Text); TextBox TxtSubTicketName = (TextBox)item.FindControl("TxtSubTicketName"); TextBox TxtSubTicketDescription = (TextBox)item.FindControl("TxtSubTicketDescription"); foreach (Ticket subticket in ticket.Children) { if (subticket.Id == SubTicketId) { if (subticket.Name != TxtSubTicketName.Text || subticket.Description != TxtSubTicketDescription.Text) { subticket.Name = TxtSubTicketName.Text; subticket.Description = TxtSubTicketDescription.Text; subticket.Update(); } break; } } } RepeaterTickets.DataSource = ticket.Children; RepeaterTickets.DataBind(); }
Je ne comprends pas pourquoi, mais "RepeaterTickets.Items" ne contient jamais aucun élément lorsque je clique sur le bouton !
Comment est-ce possible ? Qu'est-ce que j'ai oublié ?
Partager