Je mets la source de données de mon répéteur dans une liste (MyProducts est une classe simple, composée uniquement de get/setters). Après cela et DataBind(), je peux voir en mode de débogage que DataItem de chaque Repeater.Items est null. Lorsque vous effectuez une publication et essayez de mettre à jour MyProducts, le Repeater.Items [n] .DataItem est toujours null et je ne suis pas en mesure de le lancer, pour faire mon travail.DataItem sur Repeater.Items est toujours null
Pourquoi DataItem n'est-il pas défini sur chaque RepeaterItem, lorsque je repère mon répéteur? Je ne peux pas comprendre/Google. Tous les autres aspects de mon code fonctionne correctement (la sortie de données de myProducts à ASPX, en utilisant par exemple:
<asp:TextBox runat="server" id="q" Text='<%# DataBinder.Eval(Container.DataItem, "Quantity")%>'></asp:TextBox>
Code Plus:
public class MyProducts
{
public string Number
{
get; set;
}
public decimal Price
{
get; set;
}
public decimal Quantity
{
get; set;
}
public decimal Total
{
get { return Quantity * Price; }
}
}
Génération:
public List<MyProducts> TheProducts
{
get { // Invoking webservice, getting response as xml and converting it to a list of MyProducts }
}
Mon contrôle de l'utilisateur:
// Bind products in cart
r.DataSource = TheProducts;
r.DataBind();
// Debugging "r.Items[n].DataItem" now shows "null", eventhough all objects has been correctly binded
Modifier # 2, l'information de débogage. DataSource est correctement chargé, mais Repeater.Items [3]. DataItem est null. Cela devrait avoir une valeur, n'est-ce pas? screenshot
Edit # 3, je reçois maintenant, je pensais que DataItem était toujours accessible lorsque DataSource est définie, et ne pense pas d'inclure le code complet (j'ai essayé d'y accéder à Page_Load).
Une fois que l'utilisateur a modifié une valeur de quantité, j'ai voulu enregistrer la nouvelle quantité pour un MyProducts. Je l'ai résolu en plaçant un champ caché qui contient l'identifiant de MyProducts, afin que je puisse le rechercher manuellement et obtenir l'objet MyProducts à partir de là.
Merci à emremp, Mark Avenius et tous les autres qui campèrent.
Vous pourriez nous donner un code pour travailler avec ... –
J'ai édité mon poste et inséré plus de code. Bien que ce soit assez basique, je ne pense pas que cela apportera des éclaircissements. J'avais "espéré" que j'avais manqué quelque chose de simple et que quelqu'un pouvait le signaler pour moi. Je trouve très particulier que je suis capable de lier MyProduct-objects mais DataItem est nul ... – Certs
Qu'essayez-vous de réaliser ici?Votre "Quantité" est-elle liée au répéteur? – bla