Gå til innhold

Hvordan overføre verdier mellom vinduer?


Anbefalte innlegg

Videoannonse
Annonse

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 av Kenti
Lenke til kommentar

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 av Kenti
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...