Vraag & Antwoord

Webprogrammeren & scripting

Programmeren in Repeater (C#, ASP.NET)

9 antwoorden
  • Ik maak met een repeater een lijstje van projecten. Bij elke project hoort eigenlijk een foto maar het kan voorkomen dat er geen foto bij zit. Dan wil ik niet dat de missende foto getoond wordt met een rood kruisje maar mag hij gewoon dat onderdeel niet tonen. Daarvoor moet ik - denk ik - programmeren in de repeater. Maar dat gaat niet helemaal lekker... [code:1:b4159ec939]<asp:Repeater runat="server" ID="Repeater1"> <ItemTemplate> <hr style="width: 450px; color: #DE2000" /> <table style="width: 450px"> <tr> <td rowspan="2" height="100"> <h1><%# DataBinder.Eval(Container.DataItem, "ProjectNaam")%> </h1><br /> <p> <%# DataBinder.Eval(Container.DataItem, "ProjectMaterialen")%> </p><br /> <p><a href="projecten_details.aspx?ProjectID=<%# DataBinder.Eval(Container.DataItem, "ProjectID")%>">Details</a></p> </td> <% if ( DataBinder.Eval(Container.DataItem,"FirstPicture") != "") %> { <td><img src='fotos/projecten/<%# DataBinder.Eval(Container.DataItem, "FirstPicture")%>' style="float:right" width="100px" height="100px" /> </TD> } </tr> </table> </ItemTemplate> </asp:Repeater> [/code:1:b4159ec939] Hoe kan ik dit het beste aanpakken?
  • [quote:2741865fd1="Wiep Corbier"][/quote:2741865fd1] Kan aan mij liggen... aan je code te zien zou ik het volgende doen: <% if ( DataBinder.Eval(Container.DataItem,"FirstPicture") != "") %> zetten net na de start van ItemStyle. Maar jah, heb nog niet met Repeater gewerkt, wel met DataGrid.
  • Werkt iets als onderstaande niet? [code:1:8b25bc09d6] <asp:Image runat="server" ImageUrl='<%# "fotos/projecten/" + DataBinder.Eval(Container.DataItem, "FirstPicture") %>' Visible='<%# (DataBinder.Eval(Container.DataItem, "FirstPicture") != "") %>' /> [/code:1:8b25bc09d6]
  • [quote:b039f3d65c="Wiep Corbier"]Ik maak met een repeater een lijstje van projecten. Bij elke project hoort eigenlijk een foto maar het kan voorkomen dat er geen foto bij zit. Dan wil ik niet dat de missende foto getoond wordt met een rood kruisje maar mag hij gewoon dat onderdeel niet tonen. [/quote:b039f3d65c] Het was ff onduidelijk wat je met "dat onderdeel" bedoelde... [quote:b039f3d65c="Wiep Corbier"] Maar dat gaat niet helemaal lekker... [/quote:b039f3d65c] Wat gebeurt er dan? [quote:b039f3d65c="Wiep Corbier"] [code:1:b039f3d65c]<asp:Repeater runat="server" ID="Repeater1"> <ItemTemplate> <hr style="width: 450px; color: #DE2000" /> <table style="width: 450px"> <tr> <td rowspan="2" height="100"> <h1><%# DataBinder.Eval(Container.DataItem, "ProjectNaam")%> </h1><br /> <p> <%# DataBinder.Eval(Container.DataItem, "ProjectMaterialen")%> </p><br /> <p><a href="projecten_details.aspx?ProjectID=<%# DataBinder.Eval(Container.DataItem, "ProjectID")%>">Details</a></p> </td> <% if ( DataBinder.Eval(Container.DataItem,"FirstPicture") != "") %> { <td><img src='fotos/projecten/<%# DataBinder.Eval(Container.DataItem, "FirstPicture")%>' style="float:right" width="100px" height="100px" /> </TD> } </tr> </table> </ItemTemplate> </asp:Repeater> [/code:1:b039f3d65c] Hoe kan ik dit het beste aanpakken?[/quote:b039f3d65c] Ik zou dit eens proberen... [code:1:b039f3d65c]<asp:Repeater runat="server" ID="Repeater1"> <ItemTemplate> <hr style="width: 450px; color: #DE2000" /> <table style="width: 450px"> <tr> <td rowspan="2" height="100"> <h1><%# DataBinder.Eval(Container.DataItem, "ProjectNaam")%> </h1><br /> <p> <%# DataBinder.Eval(Container.DataItem, "ProjectMaterialen")%> </p><br /> <p><a href="projecten_details.aspx?ProjectID=<%# DataBinder.Eval(Container.DataItem, "ProjectID")%>">Details</a></p> </td> <td> <% if ( DataBinder.Eval(Container.DataItem,"FirstPicture") != "") %> { <img src='fotos/projecten/<%# DataBinder.Eval(Container.DataItem, "FirstPicture")%>' style="float:right" width="100px" height="100px" /> } </TD> </tr> </table> </ItemTemplate> </asp:Repeater> [/code:1:b039f3d65c] of [code:1:b039f3d65c]<asp:Repeater runat="server" ID="Repeater1"> <ItemTemplate> <hr style="width: 450px; color: #DE2000" /> <table style="width: 450px"> <tr> <td rowspan="2" height="100"> <h1><%# DataBinder.Eval(Container.DataItem, "ProjectNaam")%> </h1><br /> <p> <%# DataBinder.Eval(Container.DataItem, "ProjectMaterialen")%> </p><br /> <p><a href="projecten_details.aspx?ProjectID=<%# DataBinder.Eval(Container.DataItem, "ProjectID")%>">Details</a></p> </td> <td><img src='fotos/projecten/<%# DataBinder.Eval(Container.DataItem, "FirstPicture")%>' style="float:right" width="100px" height="100px" onerror='this.src=fotos/projecten/empty.jpg' /> </TD> </tr> </table> </ItemTemplate> </asp:Repeater> [/code:1:b039f3d65c]
  • [quote:27b91753f6]onerror='this.src=fotos/projecten/empty.jpg'[/quote:27b91753f6] Nope, hier loopt ie op vast. :cry: Je mag overigens niet eens een if-statement gebruiken in binnen een repeater.
  • ik zou me gaan verdiepen in de datagrid
  • De Datagrid ken ik. De uitdaging zat hem in de Repeater. Maar het is inderdaad verstandiger om problemen op te lossen dan ze op te zoeken. :lol:
  • [quote:ef00c21118="Wiep Corbier"][quote:ef00c21118]onerror='this.src=fotos/projecten/empty.jpg'[/quote:ef00c21118] Nope, hier loopt ie op vast. :cry: [/quote:ef00c21118] Hoezo hij loopt vast? Wat is het probleem? Misschien dat je nog iets met quotes (enkele/dubbele) moet doen. Moet je zelf ff uitzoeken. [quote="Wiep Corbier"][quote:ef00c21118]Je mag overigens niet eens een if-statement gebruiken in binnen een repeater.[/quote:ef00c21118] Sowieso staan die accolades "{" en "}" verkeerd. :)
  • [quote:a683be3558]Hoezo hij loopt vast? Wat is het probleem? [/quote:a683be3558] [b:a683be3558]h4xX0r[/b:a683be3558], het werkt. U wordt weer bijzonder bedankt!! Opmerking, de juiste code is: onerror='src="fotos/projecten/empty.jpg"' Zonder 'this.' en wat extra ",s :D Heerlijk zo'n forum :lol:

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.