Изменить URL при нажатии кнопки обновления браузера - PullRequest
3 голосов
/ 07 июля 2011

У меня есть страница login.aspx.На другой странице есть проверка, скажем, FirstPage.aspx после успешного входа в систему, и если проверка не удалась, страница будет перенаправлена ​​обратно на "login.aspx? Status = false" .Затем сообщению об ошибке присваивается метка на странице Login.aspx, и оно будет отображаться.Теперь требуется следующее: если я сейчас нажму на кнопку обновления браузера, URL-адрес должен измениться на «login.aspx».

Как этого добиться.Любая помощь с благодарностью.

Заранее спасибо

1 Ответ

1 голос
/ 07 июля 2011

Вы можете сделать это (обнаружить обновление страницы) несколькими способами - см. Обнаружение обновлений страницы :: Использование 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
}

Вы можете перенаправить пользователя, когда обнаружите обновление страницы, или лучше было бы соответственно изменить внешний вид страницы (что предотвращает дополнительное обновление страницы)

...