Repeater n'a plus d'item dans mon BtnSave_Click !
Bonjour,
Dans une page, j'ai un repéteur :
Code:
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:
1 2 3
|
RepeaterTickets.DataSource = ticket.Children;
RepeaterTickets.DataBind(); |
Et j'ai un bouton Save :
Code:
1 2
|
<asp:Button ID="BtnSave" Text="Enregistrer" runat="server" OnClick="BtnSave_Click" CssClass="btnsubmit" Enabled="false" /> |
Dont voici le code :
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
|
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é ?