2012-07-20 69 views
1

我正在研究ASP.NET应用程序,该应用程序在应用程序中的所有页面上具有以下“后退”按钮。history.back在IE8中的特定页面上不工作

<input type="button" id="btnBack" onclick="history.back();" value = "<- Back" /> 

有一个特定的Test.aspx页面,其中大部分时间不工作。 Test.aspx页面只有一个autopostback设置为true的下拉列表。

当我改变的下拉列表,以一定的价值的价值,说从默认值value1value2,如果我再点击btnBack,这是行不通的大部分时间。当它不起作用时,我看到浏览器的后退按钮被禁用。

有趣的是,这只发生在Test.aspx页面上。

我看到这个问题:IE8 Back Button Stops Working on ASP .NET Page。但不幸的是这并没有多大帮助。

编辑:我也设置Page.SmartNavigation = true;在代码隐藏,以防止回发被添加到浏览器的历史,但它没有帮助。

回答

1
When it doesn't work, I see that the browser's back button is disabled. 

这是此调用不起作用的主要线索,因为此函数实际上调用与此按钮相同的功能。如果因任何原因没有以前的页面,则无法返回。

+0

是的,那是真的,我意识到这一点。是否有可能发现为什么history.length变为零? – Animesh 2012-07-20 14:31:02

+0

@Animesh因为你打开一个新的标签,或者一个新的窗口,或者你打了一个AJAX调用 – Aristos 2012-07-20 14:50:24

+0

我现在确保我没有做任何这些,但仍然面临问题。 – Animesh 2012-07-21 05:20:55