我有一个表单,用户可以使用模态弹出窗口对大量信息进行 ajaxly 更改。我正在使用 Ajaxtoolkit 和标准 ASP.NET Ajax 控件(即 scriptmanager、updatepanel 等)
当用户点击后退按钮时,用户正在经历用户所做更改的所有阶段。我想避免这种情况。我希望如果 PAGE1 正在调用 PAGE2,并且即使 PAGE2 使用 Ajax 彻底改变,点击浏览器的“后退”按钮也会将用户直接带回 PAGE1。我怎样才能做到这一点?
浏览器后退按钮不是从服务器获取页面,而是从浏览器缓存中获取。所以有两种处理这种情况的方法:
这个方法可以让我们从服务器调用上一页而不是缓存:
<body onUnload = "DoSomethingHere()"> ... </body>
<script language = "javascript">
DoSomethingHere() {
window.location.href = "URL of the previous page";
}
</script>
这样我们将防止后退按钮动作:
function preventBack(){window.history.forward();}
setTimeout("preventBack()", 0);
window.onunload = function(){null};