Bonjour à tous!
J'utilise un UC dans mon repeater, mais je rencontre un problème...
Pour chaque item, le repeater affiche la même chose alors que les valeurs sont différentes!
Concrètement, le dernier passage dans le repeater écrase toutes les données précédentes.
Au niveau code, j'ai quelque chose comme(pas le code exact sous la main...):
dans mon aspx:
Dans mon code behind, j'ai une liste d'objet que je bind sur mon repeater.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <asp:repeater id="repeater1" runat="server"> <div id="annonce"> <uc:Usercontrol1 id="uc1" runat="server" /> </div> </asp:repeater>
C'est un objet qui represente un message donc ca contient en gros titre, contenu et auteur.
J'arrive jusque dans mon databound sans soucis avec les bonne valeur.
Donc a chaque tour tout se passe bien, la méthode remplir du UseControl est appelé et rempli avec les bonnes valeurs, mais à l'affichage, il n'y a que les données du dernier passage qui sont affiché autant de fois qu'il y'avait d'élément dans la liste!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 repeater1_ItemDataBound{ if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Object objet = e.Item.DataItem UserControl1 uc = e.findControl("uc1"); uc.remplir = objet; } }
Je pense que le problème vient du fait que les id sont les même dans chaque item du repeater et que du coup la dernier boucle écrit dans tous les items, mais je ne sais pas comment faire pour contourner celà!!
Merci par avance pour votre aide!
Partager