单击浏览器后退按钮时页面不相同

时间:2012-08-09 08:27:28

标签: asp.net caching browser browser-cache

我的default.aspx页面中有一个gridview控件,在此控件的page_load中,我填充了这个gridview。

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

当我进入default.aspx页面时,我看到我的gridview中有4个项目,我输入其中一个项目,然后单击浏览器的后退按钮,我看到2个项目。我检查了page_load函数,单击后退按钮时不会触发它。当我点击刷新时,再次有4个项目。我在计算机上工作时遇到此问题,但是当我将项目发布到服务器时,我没有遇到同样的问题。什么是原因?我不是在寻找像禁用缓存这样的临时修复。我使用ie9作为浏览器。

1 个答案:

答案 0 :(得分:0)

试试这个。 How to Refresh Page when called via the Back Button

或者你可以试试这个。

我们可以禁用页面缓存。然后,如果我们单击浏览器中的后退按钮,页面将重新执行page_load事件以刷新页面。

代码如下所示。

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());
        }

这也可以帮到你。

<script language="JavaScript">

  javascript:window.history.forward(1);

</script>