Bonjour a tous,
J'ai un repeater qui contient un label :
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>
Dans le page load, je "remplis" le repeater :
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();
	}
}
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
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";
             }
        }
 }
Tout se passe, lors du premier chargement.
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 ?