在ASP.NET页面中,如果想返回前一页面。可以调用javascript的window.history.back()方法。这种方法在大部分情况下是有效的,但是如果界面中有按钮等控件执行了window.open()的javascript方法来打开其它页面后,window.history.back()方法就不太好用了,原因是javascript将打开的页面地址也保存进了history对象。所以执行了若干次window.open()方法,必须执行相应次数的window.history.back()方法返回,然后才能执行window.history.back()方法返回前一页面。
知道产生问题的原因,就好解决问题了,我们只要在每次调用window.open()方法之后,执行一次window.history.back()清除掉刚保存进histroy对象的页面地址。这样问题就顺利解决了!!
实例代码是在vs2005下实现的,vs2003下也同样适用。vs2008未测试!
实例源码下载地址: http://www.cnblogs.com/Files/redleaf1995/testHistory.rar
知道产生问题的原因,就好解决问题了,我们只要在每次调用window.open()方法之后,执行一次window.history.back()清除掉刚保存进histroy对象的页面地址。这样问题就顺利解决了!!
实例代码是在vs2005下实现的,vs2003下也同样适用。vs2008未测试!
实例源码下载地址: http://www.cnblogs.com/Files/redleaf1995/testHistory.rar

本文介绍在ASP.NET应用中如何解决使用window.open后无法直接通过history.back返回上一页的问题,并提供了解决方案及代码示例。
849

被折叠的 条评论
为什么被折叠?



