浏览器后退按钮失败 - 仅在前一页上执行了回发

时间:2016-04-19 01:48:06

标签: c# asp.net back-button

我会保持这么简单。我有两页:

  • 列表页面
  • 详情页面

列表页面上的快速信息:

  • 一个网格,显示带有“视图”超链接的项目列表,每个超链接指向详细信息页面(例如detail.aspx?id = 1)
  • 许多过滤器和搜索按钮
  • 默认情况下,列表会显示所有没有任何过滤的项目

场景1(好):

  • 没有任何过滤,请点击任意视图链接
  • 这将带我到所选项目的详细信息页面
  • 单击浏览器后退按钮,显示列表页面(确定)

场景2(不行):

  • 在列表页面上执行搜索过滤器,这会触发带有过滤项目的回发
  • 点击其中一个视图链接
  • 这将带我到所选项目的详细信息页面
  • 点击浏览器后退按钮,错误页面

错误信息:

  • IE:网页已过期
  • Chrome:ERR_CACHE_MISS
  • Firefox:文档已过期

知道为什么方案2无法显示列表页面?我不需要在返回时保留过滤器,我只需要立即显示列表页面而不会出现错误。

提前致谢

1 个答案:

答案 0 :(得分:0)

尝试清除缓存。 Here也是类似的讨论。

但我所做的是用一行Javascript禁用后退按钮以防止出现这类问题

<script type="text/javascript">
    history.forward();
</script>

我在第二页中插入了一个“后退”或“返回”按钮,用于返回初始页面。

我希望这对你来说很方便。