28. marts 2007 - 22:53Der er
10 kommentarer og 1 løsning
Booleans mister sin satte værdi mellem to knappetrykk
Har to knapper i en codebehind fil bagved en aspx side. Disse kalder to metoder, der kortfattet kan skrives således:
metode1() { if (boolean2) { // noget kode // } // noget kode // boolean1 = true boolean2 = false } metode2() { if (boolean1) { // noget kode // } // noget kode // boolean2 = true boolean1 = false }
Mit problem er at selv om man f.eks. kalder metode1 først (hvori boolean1 bliver sat til true), så er stadigvæk boolean1 lige med false, når man lige bagefter eksekverer metode2. PS! Der er ingen anden kode der gør ændringer med disse to booleans, de bliver oprættet som klassevariabler, og burde jo bevare sin værdi, selv om metiden er færdig?!
som jeg nævnte bliver de oprættet som klassevariabler (dvs i toppen af klassen)...
...der sker ikke andet med de to booleans end det der er vist (ikke noget point at blande all anden kode i - det bliver kun forvirrende)... ...og som sagt findes der to knapper på websiden, hvor der ved trykk på den ene bliver boolean1 sat til true og der i den anden tjekkes for om den er true (hvor det så viser sig at den er false igen - og det er lige præcis ved hjælp af breakpoint jeg har tjekket det)
Hvis det er en aspx side, kan det så ikke være fordi din side loades fra serveren igen ved et post back, og der i den forbindelse indlæses standard settings for dine værdier? Hvis du gemmer værdien i et felt, skal feltets attribut "enableviewstate" = "true" Måske er det problemet!! Vh flyver23
hvis det er problemet så er spørgsmålet ekstremt dårlig forklaret da metoderne kaldes lige efter hinanden..
men forstår heller ikke hvorfor der ikke bare sættes et breakpoint og debugges... tilsyneladende kendes der ikke til debugging siden dette ikke kommenteres!
Jeg bruger debugger, og har sat breakpoint i slutten af metoden1 og starten af metoden2, og synes jeg ellers har forklaret det hele ret nøjaktigt: Den ENE metode kaldes ved første knappetryk, den ANDEN metode kaldes når den anden knap bliver trykket!
" Mit problem er at selv om man f.eks. kalder metode1 først (hvori boolean1 bliver sat til true), så er stadigvæk boolean1 lige med false, når man lige bagefter eksekverer metode2. "
Det giver ikke mig et billede af du taler om knaptryk;o)
Det er da i hvertfald nemt.. Der er mange andre muligheder, men da der alligevel ikke er noget stort load på dit site (og aldrig kommet det:P ) så kan du ligeså godt bruge session.
Synes godt om
Ny brugerNybegynder
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.