IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[c#][2.0]Repeater label et postback


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Par défaut [c#][2.0]Repeater label et postback
    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 ?

  2. #2
    Membre chevronné
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Par défaut
    désolé pour ce up.
    Promis je n'en ferai plus sur ce sujet.
    Personne n'a de réponse à ma question

  3. #3
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    salut,
    est-ce que tu es bien sur que ca vient de la différence entre le textbox et le label?
    as-tu vérifié que le viewstate etait bien activé pour tes controls?
    est-ce que ca ne pourrais pas venir de ton objet Log?

  4. #4
    Membre chevronné
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Par défaut
    J'en suis sur et voila pourquoi :
    si je vais ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <asp:Repeater ID="rptLogs" runat="server" OnItemCreated="rptLogs_ItemCreated">        
    	<ItemTemplate>
    		<asp:Label id="lblTaille" runat="server" />
    		<asp:TextBox id="tbTaille" runat="server" />
    	</ItemTemplate>
    </asp:Repeater>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...
    if (objLog != null)
    {
        lblTaille.Text = objLog.SizeText.ToString() + " Ko";
        tbTaille.Text = objLog.SizeText.ToString() + " Ko";
    }
    ...
    Le textbox conserve sa valeur et pas le label !

  5. #5
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    est-ce qu'à l'execution il passe bien par la méthode rptLogs_ItemCreated, pcq l'événement pourrait très bien ne pas s'enclencher lorsque les éléments sont déjà créés.
    et je me demande si le fait que le textbox garde le texte, ne viendrait pas simplement du navigateur?!!

  6. #6
    Membre chevronné
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Par défaut
    je ne sais pas comment ca marche.
    Lors du rechargement rptLogs_ItemCreated est appellé avant le page_load et e.Item.DataItem est null.

Discussions similaires

  1. PostBack sur un Repeater avec MenuContextuel
    Par Devinformatique dans le forum C#
    Réponses: 0
    Dernier message: 19/02/2013, 13h47
  2. afficher des label et textbox grace à un repeater
    Par Devlin111 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/03/2012, 12h50
  3. Repeater de WUC + Postback
    Par bizet dans le forum ASP.NET
    Réponses: 7
    Dernier message: 02/12/2008, 11h15
  4. Boucle repeat +label
    Par totoff80 dans le forum Débuter
    Réponses: 3
    Dernier message: 14/04/2008, 17h33
  5. Réponses: 1
    Dernier message: 15/06/2007, 13h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo