[asp.net] nog een cache probleem

Pagina: 1
Acties:

  • sig69
  • Registratie: Mei 2002
  • Nu online
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:
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.

Roomba E5 te koop


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Geen oplossing voor je probleem, maar is het niet veel eenvoudiger om bij het opslaan te kijken of er al een ander record staat met precies diezelfde gegevens die je probeert in te voeren? Het lijkt me dat dat de moeite van een omslachtig script bespaart. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • sig69
  • Registratie: Mei 2002
  • Nu online
Hmm ik zit net te lezen dat al deze dingen ook depricated zijn. Even op zoek naar wat er dan aangeraden wordt.

Edit:
De veroorzaker van dit gedrag is:
C#:
1
Response.CacheControl = "no-cache";
Ook wel:
C#:
1
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Maar goed, dan is het cache probleem nog niet opgelost dus, want zonder deze regel onthoudt hij gewoon z'n geposte data

[ Voor 58% gewijzigd door sig69 op 05-01-2005 16:32 ]

Roomba E5 te koop