Bonjour a tous,
J'ai un repeater qui contient un label :
Dans le page load, je "remplis" le repeater :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <asp:Repeater ID="rptLogs" runat="server" OnItemCreated="rptLogs_ItemCreated"> <ItemTemplate> <asp:Label id="lblTaille" runat="server" /> </ItemTemplate> </asp:Repeater>
Et je remplis le valeur du label dans cette méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { rptLogs.DataSource = FileLog(); rptLogs.DataBind(); } }
Tout se passe, lors du premier chargement.
Code : 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 protected void rptLogs_ItemCreated(object sender, RepeaterItemEventArgs e) { Label lblTaille; Log objLog; if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { lblTaille = (Label)e.Item.FindControl("lblTaille"); objLog = (Log)e.Item.DataItem; if (objLog != null) { lblTaille.Text = objLog.SizeText.ToString() + " Ko"; } } }
J'ai aussi un boutton qui valide la page, et lors du rechargement de la page, mon repeater a le bon nombre de ligne mais le label est vide.
Quand je remplace le label par un textbox, ça fonctionne.
Pourquoi est-ce la texte du label est perdu alors que la valeur du textbox ne l'est pas ?
Partager