日期:2014-05-17  浏览次数:20388 次

MVC+Chrome 后退后重新加载ActionResult
我使用MVC3框架写了两个测试页面A,B
A  POST B后在B页面点Chrome的后退按钮后
Chrome却重新用get方式请求了一次B的ActionResult Index方法
同时querystring和from都为空了,导致了B页面报错无法回到A面
放在火狐和IE中就没有这个问题,因为它们不会重新走一次B页面的index

不知道有没有兄弟遇到类似的问题,能给小弟一点支持

------解决方案--------------------
和浏览器的缓存机制有关。

首先,你应该禁止缓存起作用,使得所有浏览器都出现重新get的情况(即使这是错的)

然后你应该修复这个问题,通过session、cookie或者TempData保持数据,使得所有浏览器都获得一样的结果。

而不是针对某个浏览器作特殊处理。