comanche Skrevet 16. november 2005 Rapporter Del Skrevet 16. november 2005 Vet noen hvordan det er mulig å overføre en verdi fra et vindu til et annet i Visual Studio? Man får nemlig ikke tilgang til variabler på tvers av klasser. Noen forslag? Lenke til kommentar
mar Skrevet 16. november 2005 Rapporter Del Skrevet 16. november 2005 Er bare å legge inn noen "get"/"set" metoder i de aktuelle klassene. Lenke til kommentar
GeirGrusom Skrevet 16. november 2005 Rapporter Del Skrevet 16. november 2005 På kontroller er det en egenskap i designeren som heter modifiers, sett den fra private/friend til public, eller legg til property som mar sier. Lenke til kommentar
Manfred Skrevet 16. november 2005 Rapporter Del Skrevet 16. november 2005 Det er vel ikke "snill" programmering å gi andre klasser tilgang direkte til variabler da. Get/set er fint å bruke, eller - som oss gamle C++'ere - lage public funksjoner som aksesserer og oppdaterer variablene Lenke til kommentar
GeirGrusom Skrevet 17. november 2005 Rapporter Del Skrevet 17. november 2005 En skal ikke gjøre det normalt nei, men det er så mye enklere noen ganger Lenke til kommentar
Manfred Skrevet 17. november 2005 Rapporter Del Skrevet 17. november 2005 Du liker prinsippet DTSTTCPW? (Do The Simplest Thing That Could Possibly Work) Jobber mye etter det prinsippet selv, men dette er faktisk en av de tingene jeg er litt nøye på. Lenke til kommentar
Kenti Skrevet 17. november 2005 Rapporter Del Skrevet 17. november 2005 (endret) Uff, dette husker jeg at jeg kålet en del med for en stund siden i beta-versjonen av VS 2005. Er flere måter å sende verdier mellom sider på, men på det stadiet var de alle ganske ustabile. Fant ut at den beste måten var å legge til verdien jeg skulle sende til en annen side i Context. F.eks. om du skal sende en verdi fra "avsender.aspx": // Kan og være textbox eller hva det måtte være String verdi = label1.text; // legger til verdien i Context, "verdi_id" er iden vi bruker for å hente verdien i // mottakersiden Context.Items.Add("verdi_id", verdi); // Sender til mottakerside Server.Transfer("~/mottakerside.aspx", true); Kodesnutten over er for å gjøre verdien tilgjengelig for mottakersiden Mottakerside kan f.eks. da se slik ut: String hentetVerdi = ""; String prevPage = ""; if (!IsPostBack) // er det post-back? { try { prevPage = this.PreviousPage.ToString(); // prøver å hente sidens navn } catch (NullReferenceException nre) { prevPage = ""; } if (prevPage.Equals("avsender_aspx")) { hentetVerdi = Context.Items["verdi_id"].ToString(); } else if ( prevPage.Equals("enEllerAnnenSide.aspx") <osv osv for så mange sider du vil sjekke> } Kodesnutten over som da ligger i mottakersiden henter ut verdien med id "verdi_id" fra avsender.aspx og lagrer den i "hentetVerdi" om det var avsenderside som postet til mottakerside (det gjorde den med "Server.Transfer("~/mottakerside.aspx", true);" ) Dette funker fint. Mulig det er andre måter å gjøre det på nå. Tar forbehold om skrivefeil i farten. Edit: Det kan være greit å se litt her også: http://msdn.microsoft.com/library/default....asp01242002.asp Endret 17. november 2005 av Kenti Lenke til kommentar
Manfred Skrevet 19. november 2005 Rapporter Del Skrevet 19. november 2005 Jeg gikk ut ifra, siden dette var snakk om vinduer, at vi her snakket om applikasjoner og ikke web?? Lenke til kommentar
Kenti Skrevet 26. november 2005 Rapporter Del Skrevet 26. november 2005 Det er meget mulig nå som du sier det.. Da hadde det uansett vært lurt av trådstarter å spesifisere dette.. Lenke til kommentar
mar Skrevet 26. november 2005 Rapporter Del Skrevet 26. november 2005 Siden han sier at han har problemer med å aksesere variabler på tvers av klasser var det vell naturlig å anta at det var snakk om en applikasjon, men man vet jo aldri. Lenke til kommentar
Kenti Skrevet 27. november 2005 Rapporter Del Skrevet 27. november 2005 (endret) Ja, ok. Mulig jeg var såpass inne i problematikken med overføring av variabler mellom sider i webapplikasjoner i øyeblikket jeg postet svaret at jeg ikke tenkte helt klart =) Uansett, så er det ganske rett fram å overføre verdier mellom klasser.. Er jo bare å bruke get-metoder om man har satt private aksess på variablene, som nevnt over. Endret 27. november 2005 av Kenti Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå