Avatar billede sblar Nybegynder
19. februar 2003 - 22:24 Der er 6 kommentarer og
1 løsning

Undgå submit ved tryk på F5

Hvis brugeren trykker på en server-side knap, udføres f.eks. en update i en database. Hvis man derefter refresher siden (F5) udføres den samme update igen, som om man havde trykket på samme knap igen. Dette kan selvfølgelig medføre uønskede ting, så hvordan kan det undgås?
Avatar billede erikjacobsen Ekspert
19. februar 2003 - 22:29 #1
Lige i ASP.NET ved jeg ikke hvordan du realiserer det, men ideen
er:

1)  Lad brugeren trykke på submit (eller lignende)
2)  Gå til en side som laver opdateringen, og intet andet udover
3) Redirecter til den side der skal vise resultatet af opdateringen for brugeren

Trykker man så på F5 er det blot den sidste redirect man gentager,
ikke POST-en
Avatar billede lighterus Nybegynder
19. februar 2003 - 23:37 #2
hvis du smider din kode i f.eks. page_load kan du gøre følgende:

Page_Load(Object sender, EventArgs e){
if(! IsPostBack){
koden der kun skal udføres første gang...
}

så checker den hvorvidt du har modtaget siden en gang før....
Avatar billede lighterus Nybegynder
19. februar 2003 - 23:38 #3
hov mangler lige en slut tuborg klamme, men håber du kan forstå min forklaring... det er sådan vi har lært det på datamatikeruddannelsen i hvert fald så den skulle være legit nok :)
Avatar billede sblar Nybegynder
20. februar 2003 - 19:40 #4
lighterus> det holder vist ikke helt. Se her:

the IsPostBack is true when you refresh the page.
http://groups.google.com/groups?q=avoid+submit+asp.net+page+refresh&hl=da&lr=&ie=UTF-8&oe=UTF-8&selm=%23Nj6hDeHCHA.2516%40tkmsftngp13&rnum=1

Refreshing the page does a total resubmit of all the information which the
page submitted last time,including all form contents and viewstate.
http://groups.google.com/groups?q=asp.net+page+refresh&hl=da&lr=&ie=UTF-8&oe=UTF-8&selm=%23WQHhxcyAHA.1908%40tkmsftngp05&rnum=3
Avatar billede sblar Nybegynder
20. februar 2003 - 21:42 #5
erikjacobsen> Dit forslag klarer sagen. Let og ligetil. Man kan så undre sig over at et højt udviklet produkt som ASP.NET ikke af sig selv kan håndtere den slags.
Tak for hjælpen.
Send et svar og få dine velfortjente points.
Avatar billede erikjacobsen Ekspert
20. februar 2003 - 22:27 #6
Det kan ASP.NET måske også - hvis man ved hvor man skal kigge. Jeg
kender blot ikke noget til det.

Jeg skal ikke have point.
Avatar billede sblar Nybegynder
21. februar 2003 - 07:23 #7
Ja måske, men jeg har godt nok søgt meget og set mange andre i forskellige nyhedsgrupper have samme problem.
Du skal ihvertfald have tak for hjælpen og pointene må jeg jo så beholde selv.
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