Que se passe-t-il lorsque j'appuie sur le bouton BACK du navigateur?
Considérer le scénario:
- J'ai visité une page d'un site web construit à l'aide de ASP.NET. La page est une simple page aspx contenant ASP.NET les contrôles serveur.
- J'ai cliqué sur un lien qui m'amène à une autre page du même site.
- J'ai cliqué sur le bouton du navigateur.
QUESTION: Ce qui se passe au niveau de la page de cycle de vie? Ne tous les événements se produisent ou que le navigateur affiche la version en cache de la page sans faire des demandes?
source d'informationauteur Manish
Vous devez vous connecter pour publier un commentaire.
Je pense que la meilleure réponse est: Cela dépend du navigateur, surtout après un post/publication.
Les anciens navigateurs utilisé pour faire apparaître une boîte de dialogue de confirmation à l'effet de "la page contient des données POST qui sera soumis de nouveau", et vous pouvez soit aller de l'avant (les soumettre de nouveau) ou l'annuler. Depuis tout ce qui se passe dans ASP.NET WebForms est une partie de la
FORM
élément (ViewState, événements, etc.), ce serait la cause de l'ensemble du cycle de vie pour en être répété.Bien sûr, ceci n'a pas causé d'ennuis avec les doublons, de sorte que beaucoup de sites ont eu à venir avec des solutions de contournement pour la dupe problème, et aujourd'hui la plupart des navigateurs extraire seulement la page du cache à la place.
...C'est sauf vous remplacer le cache-têtes de contrôle et de forcer le navigateur à ne pas stocker la page dans le cache. Évidemment, dans ce cas, il ne peut pas être récupérée à partir du cache, donc il va généralement être soumis à nouveau. Mais, encore une fois, cela dépend du navigateur - par exemple, certains navigateurs ne permettent pas à la nouvelle présentation du protocole SSL, donc si c'est le protocole en cours d'utilisation l'utilisateur aura juste à voir un message indiquant que la page a expiré /ne peut pas être affichée.
Venez pour penser à elle, probablement une bien meilleure réponse est: en tant Que concepteur de site web, vous ne pouvez vraiment pas dépendre d'un comportement spécifique à partir du navigateur de l'utilisateur lors de l'Arrière bouton est cliqué. Si un envoi en double pourrait avoir des effets secondaires négatifs (tels que le chargement d'une carte de crédit deux fois), alors vous avez besoin de prendre des mesures adéquates pour empêcher que cela se produise. C'est une bonne pratique de toute façon comme il est tout à fait possible pour un utilisateur de simplement double-cliquez sur le bouton "soumettre" par accident.
nous avons même essayé
pour résoudre ce genre de problème
La page sera affichée à partir du Cache.
généralement de tous les événements de se produire, mais si vous avez un uber navigateur qu'il pourrait arriver à afficher une page en cache
vous pouvez simplement mettre un point d'arrêt dans votre Page de Chargement et de voir si cela va se produire