Avatar billede forceprogrammer Nybegynder
30. marts 2005 - 12:21 Der er 6 kommentarer

Warning: Page has expired

Hvordan undgår jeg denne browserfejl på mine sider når brugeren klikker frem og tilbage vha. de indbyggede forward/back knapper?
Avatar billede burningice Nybegynder
30. marts 2005 - 16:11 #1
gør du ikke... det er ikke en fejl i asp.net, men hele http-arkitekturen der gør at du får den besked ved en side der oprindelig blev hentet ved hjælp af POST og ikke GET.
Avatar billede forceprogrammer Nybegynder
30. marts 2005 - 16:15 #2
hmmm der må da være NOGET man kan gøre.
Står det et officielt sted at det er en fejl i http-arkitekturen?
Avatar billede burningice Nybegynder
30. marts 2005 - 16:22 #3
det er ikke nogen fejl... sådan er det bare bygget op. Hvis der er nogen der skal have skylden for en fejl, så er det selve browseren, der spørger om der skal re-POST'es istedet for bare at gøre det. Men det er nok gjort sådan af sikkerhedsmæssige årsager.
Avatar billede burningice Nybegynder
30. marts 2005 - 16:23 #4
eneste du kan gøre er at lade være med at bruge POST, men så kommer du nok ikke så langt.
Avatar billede forceprogrammer Nybegynder
30. marts 2005 - 16:24 #5
hmm okay.
Hvordan forklarer jeg det til kunden
Avatar billede burningice Nybegynder
30. marts 2005 - 16:40 #6
:) well... du kan lave et javascript der sørger for at man ikke kan bruge frem/tilbage-knappen i browseren. Men det bliver hurtigt noget snask. Det er desværre end af de ulemper der er ved asp.net's postback, der netop gør utrolig meget brug af POST.

Problemet kan illustreres ved følgende:

1) kommer ind på en søgeside
2) skriver et søgeord og trykker send
3) søgeordet POST'es til serveren som generer en resultat-side
4) du bladrer til side 4 i søgeresultatet
5) hvis du nu trykker tilbage, skal søgeordet fra punkt3 POST'es til serveren igen (deraf beskeden om at siden er expired). Hvis det ikke gøres vil du ikke kunne se noget søreresultat, da serveren så ikke ved hvad du søgte på.

I øvenstående scenarie løses det ved at bruge GET i punt 3 istedet, som f.eks. Google gør det, nemlig at søgeordet kommer op som en del af sidens adresse. Så hvis du kan slippe afsted med at gøre det, så er det den bedste løsning. Men hvis du benytter dig meget af postback til eventhandling, så er du lidt på skideren. Det er lidt teknisk at forklare til kunden, men det løses som oftest ved at splitte ens site op i så mange sider som muligt.
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