Ik zit nu met een heel vaag probleem, maar na een dag zoeken, heb ik toch maar besloten om er een topic over te openen, hoewel ik waarschijnlijk iets heel stoms ben vergeten...
Ik heb een webservice, waaruit custom business objecten komen. Dit is een collection van de klasse Browser.
Deze webservice moet weergegeven worden in een aspx bestand met daarin een repeater.
Alles gaat goed, totdat ik via de methode <%# DataBinder.Eval(Container.DataItem, "Naam") %> in mijn template de gegevens voor property Naam wil ophalen.
Dan komt deze error"DataBinder.Eval: Browser bevat geen eigenschap met de naam Naam. "
Hier lijkt het er dus op dat hij niet snapt dat de klasse Browser ook een property Naam heeft. Maar deze heeft hij wel degelijk.
De code behind voor het binden van de repeater:
vrij simpel dus. Bovenaan de pagina wordt ook de namespace van de webservice geincluded.
Wat dus heel krom is, is dat de volgende code wel werkt:
Ik heb ook al geprobeerd om de databind op te schrijven als:
<%# ((demo.webservice.Browser)Container.DataItem)[Naam"] %>
En zon beetje alle varianten die ik op internet kon vinden, maar dan krijg ik de melding dat demo.webservice.Browser niet bestaat.
En met <%# Container.DataItem %> in de template, print hij op het scherm demo.webservice.Browser, dus daar kent hij de klasse wel.
Op een of andere manier is de aspx pagina dus niet op de hoogte van de klasse Browser, dus ergens zit de link fout tussen de webservice proxy, en de aspx pagina, maar waar...
Ik heb met deze klassen (zonder webservice) de boel wel goed aan een repeater kunnen koppelen, dus ik denk dat de fout daar zit.
Iemand die mij in de juiste richting kan sturen?
Ik heb een webservice, waaruit custom business objecten komen. Dit is een collection van de klasse Browser.
Deze webservice moet weergegeven worden in een aspx bestand met daarin een repeater.
Alles gaat goed, totdat ik via de methode <%# DataBinder.Eval(Container.DataItem, "Naam") %> in mijn template de gegevens voor property Naam wil ophalen.
Dan komt deze error"DataBinder.Eval: Browser bevat geen eigenschap met de naam Naam. "
Hier lijkt het er dus op dat hij niet snapt dat de klasse Browser ook een property Naam heeft. Maar deze heeft hij wel degelijk.
De code behind voor het binden van de repeater:
C#:
1
2
3
4
| Rapportage rapportage = new Rapportage(); //rapportage is de webserivce Techniek techniek = rapportage.techniek(); browsers.DataSource = techniek.Browsers; //browser is de naam van de repeater, techniek.Browsers is een collection van Browser browsers.DataBind(); |
vrij simpel dus. Bovenaan de pagina wordt ook de namespace van de webservice geincluded.
Wat dus heel krom is, is dat de volgende code wel werkt:
C#:
1
| Response.Write(techniek.Browsers[0].Naam); |
Ik heb ook al geprobeerd om de databind op te schrijven als:
<%# ((demo.webservice.Browser)Container.DataItem)[Naam"] %>
En zon beetje alle varianten die ik op internet kon vinden, maar dan krijg ik de melding dat demo.webservice.Browser niet bestaat.
En met <%# Container.DataItem %> in de template, print hij op het scherm demo.webservice.Browser, dus daar kent hij de klasse wel.
Op een of andere manier is de aspx pagina dus niet op de hoogte van de klasse Browser, dus ergens zit de link fout tussen de webservice proxy, en de aspx pagina, maar waar...
Ik heb met deze klassen (zonder webservice) de boel wel goed aan een repeater kunnen koppelen, dus ik denk dat de fout daar zit.
Iemand die mij in de juiste richting kan sturen?