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