单击浏览器刷新按钮更改URL

时间:2011-07-07 15:35:24

标签: .net asp.net browser-refresh

我有一个login.aspx页面。登录成功后,另一个页面中的验证说FirstPage.aspx,如果验证失败,页面将被重定向回“login.aspx?status = false”。然后在Login.aspx页面中为错误消息分配一个标签,它将显示。现在,要求是,如果我现在点击浏览器的刷新按钮,网址应该变为“login.aspx”。

如何实现这一目标。非常感谢任何帮助。

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以通过以下几种方式执行此操作(检测页面刷新) - 请参阅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
}

您可以在检测到页面刷新时重定向用户,或者更好的方法是相应地更改页面的外观(这会阻止额外刷新页面)