javascript:history.back()触发机器上的回发,但不会在预编译时触发

时间:2009-03-09 16:55:24

标签: c# asp.net javascript visual-studio-2008 .net-2.0

在我的机器上测试我的webapplication(在调试或正常情况下)之后 一个javascript:history.back()在我的应用程序中触发回发。 另一方面,当我预编译应用程序时,它不会发生。 最后,当我在某些机器上测试相同的页面时,根本不会发生回发。

我正在使用vs2008,asp.net 2.0 with AutoEventWireup =“false”

我检查了超出比较的文件,检查了metadata.xml但我不明白为什么 在我的本地,它做了一个回发。

可能是什么问题?

2 个答案:

答案 0 :(得分:1)

这样做:javascript:history.back();返回false;

答案 1 :(得分:1)

  

另一方面,当我预编译应用程序时,它不会发生。最后,当我在某些机器上测试相同的页面时,根本不会发生回发。

然后它可能是一个缓存问题。如果IE可以记住上一页,则可能无需重新加载它。不同的部署选项导致不同的缓存标头被传递回浏览器,不同的浏览器选项可能会导致缓存在不同的点到期。

一般情况下,您希望使用Post/Redirect/Get模式来避免回发,并且几乎没有充分的理由使用'history.back()'或'javascript:'网址。