Как вернуться на предыдущую страницу, используя Javascript в ASP.NET
У меня есть следующий сценарий:
У меня есть следующий скрипт на моей странице:
function GoBackToPreviousPage () {
parent.history.back();
return false;
}
В коде у меня есть следующее
If (some conditions are met)
Page.ClientScript.RegisterStartupScript(this.GetType(), "GoBackToPreviousPage", "GoBackToPreviousPage();", true);
Если условия соблюдены, я хочу, чтобы страница вернулась на предыдущую страницу, поэтому я делаю это в javascript, а не на сервере, потому что (parent.history.back();) поддерживает историю всех предыдущих страницы
Я заметил, что после того, как RegisterStartupScript выполняется и происходит обратная передача, скрипт выполняется, но он остается на той же странице, он не возвращается на предыдущую страницу
1 ответ
Проблема вызвана PostBack, который возникает до выполнения функции javascript. Вы нажимаете кнопку, и текущая страница сохраняется в истории браузера. Таким образом, когда страница перезагружается и скрипт выполняется, вы находитесь на той же странице. Итак, не очень приятное решение - вернуться на две страницы истории:
function GoBackToPreviousPage() {
window.history.go(-2);
return false;
}