2010-08-08 6 views
1

Dans l'événement de clic sur le bouton de liaison de déconnexion, j'ai effacé les variables de session. Je vérifie ces variables de session pour des valeurs nulles à l'événement de chargement de chaque page. Si elle a la valeur nulle les rediriger vers la page de connexion. Mais le problème est que chaque fois que je clique sur le bouton de retour du navigateur, l'événement page_load ne sera pas appelé. Pour cela, j'ai effacé l'historique du cache du navigateur. S'il vous plaît aidez-moi quelqu'un où je suis absent ...asp.net gestion de l'événement du bouton Précédent après la déconnexion

+0

duplication possible de [Quelle est la meilleure méthode pour forcer l'expiration du cache dans ASP.NET?](http://stackoverflow.com/questions/533867/whats-the-best-method-for-forcing-cache- expiration-in-asp-net) – Oded

Répondre

1

Vous devez vous assurer que les pages derrière la connexion (ceux qui ne sont accessibles après la connexion) ne sont pas mises en cache dans le navigateur:

Page.Response.Cache.SetCacheability(HttpCacheability.NoCache); 

Si vous utilisez l'authentification de formulaires, vous aurez également besoin d'abandonner la session et dconnecter:

Session.Abandon(); 
FormsAuthentication.SignOut(); 

Voir this, this et this.

+0

Merci beaucoup .. Le code fonctionne bien maintenant :) :) – Sur

+0

-1 "ceux qui ne peuvent être accessibles après la connexion" qui est chaque page Web sur le site. Donc, vous dites essentiellement désactiver la mise en cache pour chaque page du site Web. +1 si vous pouvez expliquer. –

+0

@ sub13 - S'il veut que cliquer sur la dernière page ne montrera pas la dernière page (en supposant que quelqu'un doive être connecté pour voir cette page), il ne peut pas avoir la page mise en cache par le navigateur. Veuillez expliquer quel autre mécanisme vous utiliseriez pour résoudre ce problème. – Oded

1

Essayez ce code, espérons que cela fonctionne

Response.Cache.SetCacheability (HttpCacheability.NoCache);

Response.Cache.SetExpires (DateTime.UtcNow.AddHours (-1));

Response.Cache.SetNoStore();

+0

travaille pour moi, merci! – willyMon

Questions connexes