2013-02-21 4 views
1

У меня есть следующий сценарий:Как вернуться на предыдущую страницу с помощью Javascript в ASP.NET

У меня есть следующий сценарий в моей странице:

function GoBackToPreviousPage() {   
    parent.history.back(); 
    return false; 
} 

в код У меня есть следующее:

If (some conditions are met) 
    Page.ClientScript.RegisterStartupScript(this.GetType(), "GoBackToPreviousPage", "GoBackToPreviousPage();", true); 

Если выполнены условия, я хочу, чтобы страница прошла ba ск к предыдущей странице, причины я делаю это в JavaScript, а не на сервере потому, что (parent.history.back();) сохраняет историю всех предыдущих страниц

Я заметил, что после выполнения RegisterStartupScript и выполнения postback выполняется сценарий, но он остается на одной странице, он не возвращается на предыдущую страницу.

+0

Почему вы используете свойство 'parent'? – MarcusVinicius

+0

У меня такая же проблема, если я использую: history.back() без родителя –

+0

А как насчет 'history.go (-1)'? – MarcusVinicius

ответ

3

Проблема вызвана PostBack, которая возникает до выполнения функции javascript. Вы нажимаете кнопку, и текущая страница сохраняется в истории браузера. Итак, когда страница перезагружается и скрипт выполняется, вы находитесь на одной странице. Итак, не очень-то приемлемым решением является возврат двух страниц в истории:

function GoBackToPreviousPage() { 
    window.history.go(-2); 
    return false; 
} 
Смежные вопросы