Avatar billede Max Novice
25. januar 2006 - 13:12 Der er 12 kommentarer og
2 løsninger

SessionParameter og integer values.

Hej igen.

Jeg har en side med to styk TextBox og en Button på. I disse to bokse kan man indtaste nogle integer værdier og derefter trykke på knappen for at der skal ske ting og sager med disse værdier. Problemet er bare, at når man trykker på en knap på siden, får den en PostBack og "glemmer" dermed værdierne i boksene.

Jeg har fået at vide, at man skal bruge SessionParameter for at gemme værdier over PostBacks, men jeg kan ikke få det til at virke. Tager jeg fejl, når jeg mener man skal bruge DefaultValue på SessionParameteren?

Jeg koder C# i Visual Web Developer 2005 Express med .NET 2.0.

Håber I kan hjælpe mig.

Mvh.
/Mnc
Avatar billede dr_chaos Nybegynder
25. januar 2006 - 13:24 #1
prøv lige at paste hele din kode både aspx og codebehind.
Avatar billede Max Novice
25. januar 2006 - 13:33 #2
Øhmn, har desværre lige slettet metoden. Hvad tænkte du på da?
Avatar billede dr_chaos Nybegynder
25. januar 2006 - 13:36 #3
fordi det lyder underligt at tekstboksene tømmes ved et postback.
Så jeg ville i første omgang se hvorfor.
Normalt gemmes værdier ved postback medmindre andet sker.
Avatar billede Max Novice
25. januar 2006 - 13:45 #4
Arg! Haha, ok. Underligt. Jeg slettede boksene og satte to nye ind, og nu gemmer de faktisk værdierne! :-?

Ok, så er det ikke noget problem. Men hvis du alligevel kan forklare mig det med SessionParameter, skal jeg da gladeligt smide pointsene i din retning.. ;)

/Mnc
Avatar billede dr_chaos Nybegynder
25. januar 2006 - 13:49 #5
SessionParameter bruges på datasources af forskellig art til f.eks. hente værdier fra databasen og vise dem f.eks. i et gridview.
For at kunne bruge et SessionParameter skal du have oprettet en session med en værdi.

Du kan se et eksempel her:
http://msdn2.microsoft.com/system.web.ui.webcontrols.sessionparameter.aspx
Avatar billede dr_chaos Nybegynder
25. januar 2006 - 13:50 #6
Normalt bliver værdier i en Tekstbox gemt efter et postback.
Disse værdier kan tilgås med TekstBoksNavn.Text .
Avatar billede Max Novice
25. januar 2006 - 13:52 #7
Så for at gemme data runtime, skal man sådan set bare snyde lidt ved at oprette en TextBox el. lign. med .visible=false, eller hvad mener du?
Avatar billede dr_chaos Nybegynder
25. januar 2006 - 13:59 #8
Nej hvad tænker du på når du vil gemme data runtime ?

Jeg mener at hvis man har en tekstboks hvor man har skrevet noget tekst og man nu vil gemme det i en database ved at trykke på en knap. Så kan man få adgang til det som er skrevet i tekstboksen ved at Skrive Tekstboksensid og så bruge Text attributten.
Avatar billede Max Novice
25. januar 2006 - 14:24 #9
Hmm. Det jeg tænker på er, at hvis jeg nu har fx. en bool eller en int, som ikke gemmes i en DB, men jeg skal bruge værdien efter et PostBack, hvordan undgår jeg så at værdierne bliver nulstillet?
Avatar billede dr_chaos Nybegynder
25. januar 2006 - 14:28 #10
der findes nogle måder.
Enten lav en static int, gem værdien i en session eller hvis du bruger asp.net 2.0 kan du bruge profile.
Avatar billede Max Novice
25. januar 2006 - 14:31 #11
Jeg bruger ASP.NET 2.0. Kan du vise hvordan?
Avatar billede dr_chaos Nybegynder
25. januar 2006 - 14:44 #12
ja men det må lige blive lidt senere jeg skal hente min datter.
men du kan kigge her der er en meget simpel implementation:
http://davidhayden.com/blog/dave/archive/2004/09/28/505.aspx
Avatar billede Max Novice
25. januar 2006 - 14:52 #13
Ok, kigger og takker..
Avatar billede dr_chaos Nybegynder
25. januar 2006 - 15:33 #14
du kan også lave en variabel protected.
Så kan du også bruge den over alt på siden
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