2

我有一个表单,用户可以使用模态弹出窗口对大量信息进行 ajaxly 更改。我正在使用 Ajaxtoolkit 和标准 ASP.NET Ajax 控件(即 scriptmanager、updatepanel 等)

当用户点击后退按钮时,用户正在经历用户所做更改的所有阶段。我想避免这种情况。我希望如果 PAGE1 正在调用 PAGE2,并且即使 PAGE2 使用 Ajax 彻底改变,点击浏览器的“后退”按钮也会将用户直接带回 PAGE1。我怎样才能做到这一点?

4

1 回答 1

1

浏览器后退按钮不是从服务器获取页面,而是从浏览器缓存中获取。所以有两种处理这种情况的方法:

  1. 这个方法可以让我们从服务器调用上一页而不是缓存:

    <body onUnload = "DoSomethingHere()"> ... </body>
    <script language = "javascript">
        DoSomethingHere() {
            window.location.href = "URL of the previous page";
        }
    </script>
    
  2. 这样我们将防止后退按钮动作:

    function preventBack(){window.history.forward();}
    setTimeout("preventBack()", 0);
    window.onunload = function(){null};
    
于 2012-04-21T05:33:55.843 回答