Questa mi sta tirando secco: ho un repeater "prodotti" con una datasource applicata (che riesco a vedere in debug).
Bene, quando va in rendering dell'itemTemplate mi dice
"Eccezione di tipo 'System.Web.HttpException' in System.Web.dll non gestita nel codice utente
Ulteriori informazioni: DataBinding: 'System.Data.DataRow' non contiene una proprietà con nome 'ar_gif1'."
ma quell'informazione io la vedo....
Posto un po' di codice:
codice:
<asp:Repeater runat="server" ID="prodotti" OnItemDataBound="prodotti_ItemDataBound" >
<ItemTemplate>
<div id="dvimage">
immagine <asp:Label ID="l1" runat="server" Text='<%# Eval("ar_gif1") %>' ></asp:Label>
</div>
Il binding viene fatto da codebehind (sigh) con un datapager perchè vorrei poi riuscire a paginare il repeater:
codice:
...
'Creo Oggetto PagedDataSource
Dim Pager = New PagedDataSource
'Passo a Pager i dati presi da un datatable convertito in oggetto IEnumerable
Dim dy As DataTable = TryCast(Session("articolifiltrati"), DataTable)
Pager.DataSource = dy.Select()
'Abilito la paginazione e imposto i parametri
Pager.AllowPaging = True
Pager.PageSize = 5
Pager.CurrentPageIndex = 0
'Assegno al Repeater la proprietà DataSource
prodotti.DataSource = Pager
prodotti.DataBind()
...
In debug va tutto bene fino al rendering: quando nell'aspx deve mettere il text a quella label mi da il messaggio che ho riportato sopra... ma il dato c'è, lo vedo nell'evento itemDataBound!
Non so che fare...