2009-10-27 6 views

Répondre

5

Nous vous remercions de vos réponses.

code:

Response.Cache.SetCacheability(HttpCacheability.NoCache); 
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1)); 
    Response.Cache.SetNoStore(); 
    Response.AppendHeader("Pragma", "no-cache"); 

i ont utilisé ce code dans l'événement de chargement de la page. Cela fonctionne bien.

0

Évitez les choses qui gênent l'action normale d'un utilisateur avec le navigateur.

A la place, vous pouvez vérifier la disponibilité des sessions dans la page. Si Session n'est pas disponible, redirigez l'utilisateur vers une autre page.

Quoi qu'il en soit, voici un article sur ce sujet.

A Thorough Examination of "Disabling the Back Button."

+1

Il existe un problème plus fondamental que celui-ci: l'utilisation du bouton de retour n'entraîne pas nécessairement une visite au serveur (ce qui n'est souvent pas le cas) le navigateur affichera une version de la page mise en cache locale. C'est pourquoi le bouton de retour est, généralement, une douleur pour les développeurs. Il y a, je suppose, des choses qui pourraient être faites (vous pouvez peut-être manipuler l'histoire pour exampe) mais de façon générale, en essayant de gérer quelque chose au-delà de son contrôle facile (à moins que je manque quelque chose ...) – Murph

0

here est la solution comment faire, mais notez que l'utilisateur peut se rappeler et écrire l'url de la page que vous ne le pas coutume de voir après la déconnexion, vous devez donc mettre en place un mécanisme d'authentification

0

Je suis d'accord avec phoenix ... Mais une chose est que la page soit déjà affichée quand le bouton back tire, à partir du cache et donc vous pouvez vérifier la validité de la session seulement pendant la publication ... et rappelez-vous, isPostBack sera vrai dans ce scénario .

Vous pouvez utiliser le code suivant pour définir l'expiration de la page. Si cette option est incluse dans une page, un message ayant expiré s'affichera lorsque l'utilisateur cliquera sur le bouton après être sorti de la page. Mais attention, il peut toujours se rafraîchir et ré-exécuter le message.

Attention: l'utiliser dans toutes les autres pages, frustrera les utilisateurs de l'application ...

   Response.AppendHeader("Pragma", "no-cache"); 
       Response.AppendHeader("Cache-Control", "no-cache"); 
       Response.CacheControl = "no-cache"; 
       Response.Expires = -1; 
       Response.ExpiresAbsolute = new DateTime(1900, 1, 1); 
       Response.Cache.SetCacheability(HttpCacheability.NoCache); 
Questions connexes