J'ai un répéteur qui est mise en boucle un contrôle utilisateur, comme ceci:ASP.NET répéteur ne lie pas après ItemCommand
<asp:Repeater ID="repItems" runat="server" EnableViewState="false"
OnItemCommand="repItems_ItemCommand">
<ItemTemplate>
<dmg:confirmItem runat="server"
OnDataBinding="confirmitemItem_DataBinding"
Basket="<%# Container.DataItem %>" />
</ItemTemplate>
</asp:Repeater>
Mon code ressemble derrière comme ceci:
public void BindItems(List<ShopBasket> baskets)
{
_baskets = baskets;
repItems.DataSource = baskets;
repItems.DataBind();
}
Mon personnalisée contrôle utilisateur ressemble à ceci:
public ShopBasket Basket;
protected void Page_Load(object sender, EventArgs e)
{
imgItem.ImageUrl = ShopImagePath + Basket.ImageFilename;
...etc...
}
Tout fonctionne brillamment la première fois, les articles du panier sont liés aux objets Panier Tout est génial. Cependant, quand je reçois une ItemCommand de mon répéteur, et que je mets à jour le contenu du panier (Note: Aucune addition ou suppression n'est faite ici, il suffit de mettre à jour la quantité) puis je reconnais les dernières valeurs et BOOM! Référence Null - aucun objet Basket dans le contrôle utilisateur Page_Load. C'est malgré le traçage à travers pour voir que la méthode BindItems() est appelée comme d'habitude, et les paniers sont là.
Je présume que cela a quelque chose à voir avec le cycle de vie, mais il m'a battu.
Des idées?
Merci Duncan
Merci de me répondre. J'ai du mal à comprendre (peut-être parce qu'il est 19h15!) Car je ne vois pas ce qui ne va pas avec ce que je fais. Gardez à l'esprit que le LoadLoad décrit ci-dessus est sur mon contrôle utilisateur ... donc cela aurait dû recevoir le panier à partir des données du répéteur lier maintenant? Sauf si c'est là que je me trompe? – Duncan
Quand relies-tu encore? Le panier n'est pas conservé pendant les publications de page, et d'après ce que je vois, la reliure doit avoir lieu avant les incendies de chargement de page, ce qui n'est probablement pas le cas. –
Je lie sur PageLoad en ce moment, juste comme http://weblogs.asp.net/infinitiesloop/archive/2006/10/16/TRULY-Understanding-Dynamic-Controls-_2800_Part-4_2900_.aspx me dit de faire! – Duncan