In een intranet systeem willen we voorkomen dat als een gebruiker op de "backknop" klikt na het posten van een formulier, deze nog eens verstuurd wordt waardoor de data dubbel opgeslagen wordt. Hiervoor gebruiken we de volgende code:
Probleem is nu, dat de site op een soort template draait. Er is feitelijk maar 1 pagina, waarop diverse usercontrols gebruikt worden. Als ik nu een vrij uitgebreid usercontrol heb met wat datagrids, sorteerbare kolommen, button etc. gaat het fout als de pagina meer dan 1 keer "gepost" is.
Dus:
pagina laad -> actie -> back gaat goed
pagina laad -> actie - > actie -> back gaat fout
Ik krijg dan een mooie "Warning: Page has Expired " error, klik ik dan nog een keer op terug dan doet hij het weer. (1 keer terug kan dus blijkbaar wel, 2 niet ). Ik heb al een hoop cache-topics doorgelezen, maar dit probleem heb ik nog niet gezien.
C#:
1
2
3
4
5
| // Prevent caching when using the back button Response.Buffer = true; Response.ExpiresAbsolute = DateTime.Now.AddDays( -1 ); Response.Expires = 0; Response.CacheControl = "no-cache"; |
Probleem is nu, dat de site op een soort template draait. Er is feitelijk maar 1 pagina, waarop diverse usercontrols gebruikt worden. Als ik nu een vrij uitgebreid usercontrol heb met wat datagrids, sorteerbare kolommen, button etc. gaat het fout als de pagina meer dan 1 keer "gepost" is.
Dus:
pagina laad -> actie -> back gaat goed
pagina laad -> actie - > actie -> back gaat fout
Ik krijg dan een mooie "Warning: Page has Expired " error, klik ik dan nog een keer op terug dan doet hij het weer. (1 keer terug kan dus blijkbaar wel, 2 niet ). Ik heb al een hoop cache-topics doorgelezen, maar dit probleem heb ik nog niet gezien.