javascript:history.back() 在机器上触发回发,但在预编译时不会触发
在我的机器上,当我测试我的网络应用程序(无论是调试还是正常)之后 javascript:history.back() 在我的应用程序中触发回发。 另一方面,当我预编译应用程序时,它不会发生。 最后,当我在别人的机器上测试相同的页面时,根本不会发生回发。
我正在使用 vs2008、asp.net 2.0 和 AutoEventWireup="false"
我检查了无法比较的文件,检查了metadata.xml,但我不明白为什么 在我的本地它会进行回发。
可能是什么问题?
On my machine when I test my webapplication (wether in debug or normal) after
a javascript:history.back() triggers a postback in my app.
On the other hand it does not occur when i precompile the application.
Lastly, when I test the same pages on someones elses machine, the postback does not occur at all.
I'm using vs2008, asp.net 2.0 with AutoEventWireup="false"
I checked files with beyond compare, checked metadata.xml but I don't understand why
on my local it does a postback.
what can be the problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这样做: javascript:history.back(); 返回假;
do it like: javascript:history.back(); return false;
那么很可能是缓存问题。 如果 IE 可以记住上一页,则可能不必重新加载它。 不同的部署选项会导致不同的缓存标头被传递回浏览器,并且不同的浏览器选项可能会在不同的时间点使缓存过期。
一般来说,您希望使用 Post/Redirect/Get 模式来避免回发,并且几乎没有充分的理由使用“history.back()”或“javascript:”URL。
Then it's likely a cacheing issue. If IE can remember the previous page it may not have to reload it. Different deployment options lead to different cacheing headers being passed back to the browser, and different browser options may conspire to expire the cache at different points.
In general you want to be using the Post/Redirect/Get pattern to avoid postbacks, and there is almost never a good reason to use ‘history.back()’ or ‘javascript:’ URLs.