Avatar billede baddaydaddy Nybegynder
28. marts 2007 - 22:53 Der 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?!
Avatar billede kalp Novice
28. marts 2007 - 23:04 #1
det kan vi jo ikke sige ud fra det vi ser der.. hvis variablerne er globale (erklæret i toppen) så burde de ikke miste deres værdi.
Avatar billede kalp Novice
28. marts 2007 - 23:33 #2
nemmest er at du sætter et breakpoint og ser hvad der sker.
Avatar billede baddaydaddy Nybegynder
29. marts 2007 - 01:58 #3
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)

...fatter det simpelthen ikke!
Avatar billede flyver23 Nybegynder
29. marts 2007 - 08:33 #4
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
Avatar billede kalp Novice
29. marts 2007 - 09:17 #5
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!
Avatar billede baddaydaddy Nybegynder
29. marts 2007 - 11:13 #6
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!
Avatar billede kalp Novice
29. marts 2007 - 11:25 #7
ja så forklarede du dig også forkert.. du sagde de kaldes LIGE efter hinanden... det er ikke LIGE efter hinanden når der skal knap tryk til vel..

anvend session evt.

men der er mange muligheder ellers.
Avatar billede kalp Novice
29. marts 2007 - 11:30 #8
hvis du forestiller dig at hver gang du trykker på en knap så laves det i princippet et "new" objekt af siden..

og som du ved så vil du ved "new" få en nulstillet kopi:)
Avatar billede kalp Novice
29. marts 2007 - 11:33 #9
sidste ting.. du forklare det sådan her..

" 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)
Avatar billede baddaydaddy Nybegynder
29. marts 2007 - 11:56 #10
ok... sorry! troede man kunne forstå "2 kanpper med to metoder" (som jeg skrev i første linie)

men så har jeg noget at arbejde med, forsøger med sessionsobjekter først, dem bruger jeg allerede et par steder!

smid lige et svar, så for du dine points!
Avatar billede kalp Novice
29. marts 2007 - 11:59 #11
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.
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