我有一个login.aspx页面。在另一个页面FirstPage.aspx中有一个验证,一旦登录成功,如果验证失败,页面将被重定向回"login.aspx?status=false"。然后错误消息将被分配给Login.aspx页面中的标签并显示出来。现在的要求是,如果我现在点击浏览器的刷新按钮,URL应该更改为"login.aspx"。
如何实现这一点。非常感谢任何帮助。
提前致谢
如何实现这一点。非常感谢任何帮助。
提前致谢
您可以通过几种方式来实现这个功能(检测页面刷新)- 可以参考客户端JavaScript检测页面刷新。
最简单的方法似乎是使用隐藏表单变量。显然,大多数现代浏览器会在页面刷新时保留表单变量,通过使用JavaScript更新隐藏字段的值,我们可以利用这一点来检测页面何时被刷新:
<input type="hidden" name="visited" value="" />
if( document.refreshForm.visited.value == "") {
// This is a fresh page load
document.refreshForm.visited.value = "1";
} else {
// This is a page refresh
// either redirect to login.aspx, or just update the page accordingly
}
当您检测到页面刷新时,可以将用户重定向,或者更好的方法是相应地改变页面的外观(这样可以防止页面额外刷新)。