2012-08-09 2 views
0

J'ai un contrôle gridview dans ma page default.aspx, et dans page_load de ce contrôle, je remplis cette grille.La page est différente lorsque le bouton Précédent du navigateur est cliqué

protected void Page_Load(object sender, EventArgs e) 
    { 
     grd_UserOrderList.DataSource = UserOrderListData.GetOrderList(); 
     grd_UserOrderList.DataBind(); 
    } 

Ce qui se passe est que quand je rentre default.aspx page, je vois 4 articles dans mon gridview, j'entre l'un des éléments, puis cliquez sur le bouton retour du navigateur, je vois 2 articles. J'ai vérifié la fonction page_load et il n'est pas déclenché lorsque le bouton de retour est cliqué. Lorsque je clique sur Actualiser, de nouveau il y a 4 éléments. J'ai ce problème en travaillant sur mon ordinateur, mais quand je publie mon projet sur le serveur, je n'ai pas eu le même problème. Quelle pourrait être la raison? Je ne cherche pas de solution temporaire comme la désactivation du cache. J'utilise IE9 comme navigateur.

+0

Regardez ici: http://stackoverflow.com/questions/961188/disable-browsers-back-button –

+0

Ne fournit pas de réponse pour les « raisons » qui cache ne fonctionne pas comme je m'y attendais, je Je suis impatient de trouver la cause première pour réparer la racine. – HOY

Répondre

0

Essayez ceci. How to Refresh Page when called via the Back Button

Ou vous pouvez essayer ceci.

Nous pourrions désactiver le cache de page. Ensuite, si nous cliquons sur le bouton précédent dans le navigateur, la page ré-exécutera l'événement page_load pour actualiser la page.

Le code est illustré ci-dessous.

protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!IsPostBack) 
      { 
       Response.Buffer = true; 
       Response.CacheControl = "no-cache"; 
       Response.AddHeader("Pragma", "no-cache"); 
       Response.Expires = -1441; 
      } 
      Response.Write(DateTime.Now.ToString()); 
     } 

Cela pourrait également vous aider.

<script language="JavaScript"> 

    javascript:window.history.forward(1); 

</script> 
+0

Merci pour la réponse, mais je ne cherche pas de solution de rechange, je suis à la recherche de la raison pour laquelle le cache ne fonctionne pas comme prévu. – HOY

+0

Parce qu'il y aura cache dans le navigateur et la page précédente sera présente dans le cache, donc pour les performances, il charge. donc pageload ne sera pas exécuté. –

Questions connexes