Chrome历史记录错误可能 - 执行PRG,再次导航到同一表单时 - 不会添加历史记录条目

时间:2012-03-28 14:40:51

标签: model-view-controller google-chrome browser-history post-redirect-get

仅在Chrome中出现奇怪的后退按钮行为 我有两页 - 网格和表格
场景:
1.当从网格导航到表格时,一切都很好 - 网格被添加到历史中 2.当表格通过邮寄发送到服务器时,我使用RedirectToAction再次重定向(302)到网格 - 表格被添加到历史记录中。
3.当再次从网格导航到重定向时,包含网格地址的历史记录点未添加到历史记录

现在你必须在后退按钮上单击两次才能返回网格。

如果您多次重复所有步骤并观看历史堆栈,您将看到一个悲伤的表单条目列表,中间没有网格

修改:这是指向展示问题的页面的链接,在Chrome中打开并按照说明操作 - see the Chrome history bug in action

我发现的唯一“解决方案”是在表单的链接中添加一些随机垃圾,但我真的很讨厌这个。

1 个答案:

答案 0 :(得分:3)

当您的应用使用HTTP 303 See other进行重定向时,Chrome严格使用302 Found。请在此处查看相关的Chrome错误报告:http://code.google.com/p/chromium/issues/detail?id=2801

您可以在此投票修复ASP.Net MVC的RedirectToAction:http://connect.microsoft.com/VisualStudio/feedback/details/706961/asp-net-mvc-controller-redirecttoaction-method-should-return-http-303-response