Изменить URL-адрес при нажатии кнопки обновления браузера

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

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

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


person TEST    schedule 07.07.2011    source источник


Ответы (1)


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

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

person Justin    schedule 07.07.2011
comment
URL-адрес недоступен. Вы можете опубликовать фрагмент кода. - person TEST; 07.07.2011