J'ai un listview que je voudrais remplir avec des contrôles utilisateur auto-créés. Mais le problème est que les propriétés du contrôle utilisateur ne sont pas définies. Les commandes utilisateur sont affichées mais les valeurs de propriété que je saisis ne sont pas définies. Pourquoi donc?Ajout d'une liste de contrôles utilisateur Web créés à un listview dans codebehind échoue
Voici le code aspx.
<div id="productView" class="productsMain">
<div id="groupHeader" class="productsGroupHeader">
<asp:Label ID="lblGroupHeader" runat="server" Text="Gruppe" />
</div>
<asp:ListView ID="pListView" runat="server">
<LayoutTemplate>
<ul class="productListView" id="pList">
<asp:PlaceHolder ID="itemPlaceHolder" runat="server"></asp:PlaceHolder>
</ul>
</LayoutTemplate>
<ItemTemplate>
<li>
<uc:Product ID="ucProduct" runat="server" />
</li>
</ItemTemplate>
<EmptyDataTemplate>
<div>
Beklager - det er for tiden ingen varer i denne produktgruppen.
</div>
</EmptyDataTemplate>
</asp:ListView>
</div>
Et voici le code derrière
protected void Page_Load(object sender, EventArgs e)
{
Control product1 = LoadControl(@"~/UserControls/Product.ascx");
((UserControls_Product)product1).Test = 9999;
Control product2 = LoadControl(@"~/UserControls/Product.ascx");
((UserControls_Product)product2).Test = 8888;
List<UserControls_Product> l = new List<UserControls_Product>();
l.Add((product1 as UserControls_Product));
l.Add(product2 as UserControls_Product));
pListView.DataSource = l;
pListView.DataBind();
}
J'ai essayé d'ajouter la liste à Page_Init et j'ai le DataBind dans Page_Load mais cela n'a pas aidé. D'autres réflexions sur ce problème? – seddler
@seddler J'ai changé le chemin de la solution, cela fonctionne à coup sûr et c'est un meilleur et un bon. – Aristos
Réservoirs beaucoup !!! Cela a sauvé ma journée. Votre solution a fonctionné parfaitement. – seddler