1

我有以下情况:

我的页面中有以下脚本:

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 并且回发发生后,脚本被执行但它停留在同一页面上,它不会回到上一页

4

1 回答 1

4

该问题是由执行 javascript 函数之前发生的 PostBack 引起的。单击按钮,当前页面将保存在浏览器历史记录中。因此,当页面重新加载并执行脚本时,您在同一页面中。所以,一个不那么漂亮的解决方案是回到历史的两页:

function GoBackToPreviousPage() {
    window.history.go(-2);
    return false;
}
于 2013-02-21T18:14:48.910 回答