我有一个 login.aspx 页面。登录成功后,另一个页面有一个验证,比如 FirstPage.aspx,如果验证失败,页面将被重定向回"login.aspx?status=false"。然后在 Login.aspx 页面中为错误消息分配一个标签,并将其显示出来。现在,要求是,如果我现在单击浏览器的刷新按钮,则 URL 应更改为“login.aspx”。
如何实现这一点。任何帮助是极大的赞赏。
提前致谢
我有一个 login.aspx 页面。登录成功后,另一个页面有一个验证,比如 FirstPage.aspx,如果验证失败,页面将被重定向回"login.aspx?status=false"。然后在 Login.aspx 页面中为错误消息分配一个标签,并将其显示出来。现在,要求是,如果我现在单击浏览器的刷新按钮,则 URL 应更改为“login.aspx”。
如何实现这一点。任何帮助是极大的赞赏。
提前致谢
您可以通过多种方式执行此操作(检测页面刷新) - 请参阅Detecting Page Refreshes :: Using JavaScript on Client-Side。
最简单的方法似乎是使用隐藏的表单变量。显然,大多数现代浏览器在页面刷新时都会维护表单变量,通过使用 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
}
您可以在检测到页面刷新时重定向用户,或者更好的是相应地更改页面的外观(这可以防止页面的额外刷新)