Как вернуться на предыдущую страницу, используя 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;
}
Другие вопросы по тегам