Avatar billede skov_p Praktikant
29. september 2006 - 10:57 Der er 9 kommentarer og
1 løsning

Properties findes ikke på mit objekt når jeg arbejder i webforms

Jeg har et objekt med flere properites feks. 'Location' og 'Description'

I min webform har jeg en listbox hvor jeg fylder disse objekter i

Part[] parts = service.getMissingPart(order.orderId);
lbParts.DataTextField = "Location";
lbParts.DataSource = parts;
lbParts.DataBind();

Men jeg får nedenstående fejlbeskrivelse

part does not contain a property with the name Location

I mit part objekt har jeg specificeret

public string Location{
get{
    return location;
}
set{
    location = value;
}
}

Er min property syntax korrekt? Intellisense viser "Location" med et grøn ikon og ikke det man kender fra en property.
Avatar billede mikkel_sommer Nybegynder
29. september 2006 - 11:52 #1
Hvad returnerer metoden service.getMissingPart()?
Avatar billede mikkel_sommer Nybegynder
29. september 2006 - 11:54 #2
Hvis det er et array af parts skulle du måske prøve før du returnere arrayet at løbe det igennem og for hvert part objekt indsætte part.Location i et andet objekt og så returnere dette array i stedet.
Avatar billede skov_p Praktikant
30. september 2006 - 01:27 #3
metoden service.getMissingPart() returnerer et array af Part objekter

class Part{
string _location;
string _description;

public string Location{
get{
return _location;
}
set{
_location = value;
}
...
}
Avatar billede skov_p Praktikant
30. september 2006 - 07:39 #4
Det er ingen problem at få vist Location.
Jeg kan som du siger løbe gennem mit array
lbParts.Items.add(parts[i].Location)

Men så har jeg et string objekt i min listbox og ikke et part objekt, som jeg gerne vil have til senere brug.
Avatar billede mikkel_sommer Nybegynder
02. oktober 2006 - 10:26 #5
Så kan du prøve at overwrite ToString metoden i part klassen og sætte den til at returnere location property'en så vil jeg mene du får vist location når du indsætter part objekter i listboxen.
Avatar billede skov_p Praktikant
02. oktober 2006 - 10:43 #6
Nix... toString() bruges allerede til noget andet, men den bliver heller ikke vist.
Jeg får i stedet 'Inventory.localhost.Part' med

parts = service.getMissingPart(order.orderId);
lbParts.DataSource = parts;
lbParts.DataBind();

Jeg havde forventet at det var ligesom winforms, men det er det vist ikke...
Avatar billede mikkel_sommer Nybegynder
02. oktober 2006 - 12:59 #7
Hvis dine part objekter indeholder et id kan du lave en item klasse som har 2 properties id og text og så for hver part lave en instans af dette og indsætte det i listen når du så skal bruge part objektet igen henter du det udfra det id som list item'et indeholder.
Avatar billede skov_p Praktikant
04. oktober 2006 - 09:29 #8
Jeg fik ikke nævnt at jeg forsøger at hente data gennem en WebService.

Nu har jeg ændret det til en direkte forbindelse fra min aspx side til databasen og nu virker det som først antaget.
Avatar billede mikkel_sommer Nybegynder
05. oktober 2006 - 20:02 #9
Godt at det virker :)
Avatar billede skov_p Praktikant
06. december 2006 - 10:13 #10
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester