10. marts 2004 - 13:13Der er
8 kommentarer og 2 løsninger
Problem med refresh og knap
Jeg har en side hvor man kan sende en mail ved at trykke på en knap, problemet er at hvis man trykker refresh efter man har sendt sendes mailen igen. Hvordan kan jeg undgå det?
Indholdet i de tekstbokse der er på siden skal gerne være det samme som brugeren har udfyldt dem med, også efter mailen er sendt!
Du kunne evt. registrere i en session-variabel eller i din database, at brugeren har sendt emailen. Og saa altid tjekke om emailen er sendt eller ej inden du afsender.
du kan lave en Response.Redirect til samme side lige efter du har sendt mailen. På den måde bliver browseren tvunget til at hente siden ind igen via GET og på den måde blive dine data ikke postet igen hvis du refresher siden med F5
nej, det er rigtig nok... men nu er det bare sådan, at hele asp.net arkitekturen er bygget op omkring postback, så hvis du vil udenom det, så mister du også fordelene. Ellers må du gøre som dgivoni foreslog.
Jeg ville bruge session-loesningen, med mindre du alligevel indsaetter emailen i databasen ogsaa. Jeg kunne forestille mig at grunden til at du spoerger om refresh ved afsending af en email, er at det godt kan tage lidt tid inden emailen bliver afsendt. For at undgaa det kunne du starte en traad til at sende emailen, og derved opnaa at brugeren ikke skal vente paa resultatet. Selvfoelgelig udelukker det saa ogsaa, at du kan informere umiddelbart om evt. fejl ved afsendelsen.
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.