Jag har en aspx sida som innehåller en listbox med lite saker i sig. I Codebehind filen på en viss knapptryckning vill jag att sidan skall öppna en ny sida... detta är inga problem och det gör jag med: Response.Redirect("kassa.aspx");
Men jag vill ha med objektet som är en listbox till andra sidan....
Helst vill jag kunna skicka med det i Session.... Går detta?
Typ: Session["lista"]=Listbox1; och om det går... Hur tar jag empot detta objekt på andra sidan?
Response.Redirect("kassa.aspx?lista=" & Listbox1.SelectedValue) tar väl bara med de värden som är valda... Jag skulle vilja ha tillgång till hela objektet eller en kopa på det med alla dess värden....
Det är detta som är av vikt för mig... att kunna skicka med hela objekt mellan sidorna.... Går det?
Det går har jag för mig (session["bla"] = listbox borde fungera utmärkt), men ska undvikas. Varför vill du göra det? Det strider mot allt vad logik heter.
Jag skulle kopiera in allt i din listbox i en ArrayList, lägga in ArrayList:en i en sessionsvariabel och sätta den som datakälla på en listbox på din nya sida.
Fast å andra sidan förstår jag inte riktigt varför jag skulle vilja göra så... Varför vill du ha en kopia av listboxen? Är det för att det är jobbigt att fylla på den så löses ju det genom att flytta ut den logiken och sedan återanvända.
Är det för att veta vad som är valt så vet du ju redan hur man gör :)
Du kan ofta serialisera ner ett object till en textsträng och skicka med den i dun URL. Det finns dock problem med det, alla objekt kan inte serialiseras, samt att du URL inte får innehålla hur många tecken som helst, samt att antalet skiljer mellan olika läsare!!!
Så det bästa är att lägga det i Session/egen cache och sedan hämta upp det på nästa sida.
- magnus
263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e