- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Problemi con Repeater
-
Problemi con Repeater
Ciao
ho bisogno di un piccolo aiutino a correggere il codice che ho scritto........
ho provato in vari modi ma non mi riesce....Mi dà errore nella pagina aspx:
'DataBinding: 'System.Data.DataRowView' non contiene una proprietà con nome 'Immagine'.'vi posto tutto il codice:
<asp:Repeater ID="MyRepeater" runat="server"> <ItemTemplate> <tr> <td width="65" height="78" align="center" valign="middle" class="row_bord" ><%#DataBinder.Eval(Container.DataItem, "Immagine")%></td> <td width="820" class="row_bord"><table width="816" border="0"> <tr> <td width="58" class="galleria">Nome: </td> <td width="270" class="galleria2"><%#DataBinder.Eval(Container.DataItem, "Nome")%> </td> <td width="80" class="galleria">Codice:</td> <td width="172" class="galleria2"> <%#DataBinder.Eval(Container.DataItem, "Codice")%></td> <td width="87" class="galleria">Peso : </td> <td width="123" class="galleria2"><%#DataBinder.Eval(Container.DataItem, "Peso")%> </td> </tr> <tr> <td colspan="6" class="galleria2"><%#DataBinder.Eval(Container.DataItem, "Descrizione")%> </td> </tr> <tr> <td colspan="2" class="galleria2"> </td> <td class="galleria2"><span class="galleria">Misure: </span></td> <td class="galleria2"><%#DataBinder.Eval(Container.DataItem, "Misure")%> </td> <td class="galleria">Prezzo:</td> <td class="galleria2"><%#DataBinder.Eval(Container.DataItem, "Immagine")%></td> </tr> </table> </td> </tr> </table> </ItemTemplate> </asp:Repeater>
Nel codice richiamo da due storeprocedure i dati e le inserisco in due datatable, poi
Protected Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Load Dim dt As DataTableCollection Dim dt1 As DataTableCollection dt = RicTesti("006", "001") dt1 = RicercaProdotti("001", "001") Bind1(dt(0)) Bind(dt1(0)) MyRepeater.DataSource = dt1.Item(0) MyRepeater.DataSource = dt.Item(0) MyRepeater.DataBind() End Sub Private Sub Bind(ByVal dt1Prodotti800 As DataTable) For Each row As DataRow In dt1Prodotti800.Rows row("Immagine") = String.Format("<a href=""{0}""><img src=""images/mobili800/{1}""></a>", row("Collegamento").ToString().Trim(), row("Immagine").ToString().Trim()) Next End Sub Private Sub Bind1(ByVal dtArticoli As DataTable) For Each row As DataRow In dtArticoli.Rows Dim lt As Literal = CType(Panel1.FindControl(Trim(row("CodiceCampo").ToString())), Literal) If Not (lt Is Nothing) Then lt.Text = row("Prompt").ToString() End If Next End Sub
Vi prego aiutatemi, non riesco a scrivere il codice in maniera corretta...... x
-
Il problema non sta nel codice, sta nelle storedprocedure, in quanto sembra che non restituiscano un campo chiamato Immagine, che invece tu usi nel repeater.
Prova ad eseguire manualmente le SP e vedi se ti viene restituito il campo immagine.
-
grazie....
prova prova ci ero arrivata...........
effettivameente c'era un errore nella store procedure.