0

我的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 作为浏览器。

4

1 回答 1

0

尝试这个。 通过后退按钮调用时如何刷新页面

或者你可以试试这个。

我们可以禁用页面缓存。那么如果我们在浏览器中点击返回按钮,页面会重新执行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>
于 2012-08-09T08:40:36.017 回答