0

我的网站是一个 asp.net-mvc(beta1) 网站,完全验证并在所有浏览器中运行(显然在 IE6 中除外)。

我可以通过执行以下操作来重现错误:

  1. 使用一些参数发出 POST 请求
  2. 从结果中单击生成的 GET 链接之一
  3. 从结果页面按“返回”按钮。

有时后退按钮什么都不做(最后一个请求的页面保持在屏幕上,状态显示“完成”)
有时会显示一个完全空白的页面,其中包含正确的 URL 和“完成”状态
有时是res://ieframe.dll/repost.htm页面显示为“找不到服务器”标题。

我还没有找到触发因素..

我猜 IE 没有在那里缓存任何东西,所以它会重新发布 url。不过,似乎什么都没有击中我的控制器。

怎么了?我怎样才能开始调试这个甚至更好:修复这个?

4

3 回答 3

4

实施POST+REDIRECT+GET

于 2009-02-02T11:52:11.297 回答
1

IE 不会在不提示用户的情况下重新发布。如果 IE 没有缓存结果页面(检查您发送的缓存标头),您应该得到重新发布提示。我不知道为什么你会得到“找不到服务器”——听起来像是一个混乱的 IE 安装。(它是多 IE 设置吗?)

正如 cletus 所提到的,post-redirect-get 通常对于成功的帖子形式是可取的。

于 2009-02-02T12:28:55.717 回答
0

要分析浏览器和服务器之间的流量,您应该将Fiddler放在中间。

通过这种方式,您会发现 IE6 在点击后退按钮时是否将任何请求发送回服务器。

于 2009-02-02T12:29:56.337 回答