【发布时间】:2013-12-03 03:22:30
【问题描述】:
我有代码可以在我的 MVC 应用程序中禁用缓存。我正在使用以下响应标头。它们似乎适用于除 Chrome 之外的所有浏览器(当前使用版本 31.0.1650.48)。用户可以提交带有模型值的表单。当他们点击后退按钮时,我需要使用空白模型重新加载页面。由于请求正在执行操作并返回空白模型,因此标头似乎部分工作。但是视图没有更新。上一篇文章中的值将被保留。我试过清除 ModelState 但这不起作用。有什么建议么?提前致谢!!
filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1))
filterContext.HttpContext.Response.Cache.SetValidUntilExpires(False)
filterContext.HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches)
filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache)
filterContext.HttpContext.Response.Cache.SetNoStore()
【问题讨论】:
-
这可能不是最好的解决方案,但我所做的是在页面加载时在 javascript 中将表单中的值设置为 null(或重置)。
-
@fassetar:感谢您的建议。
标签: asp.net-mvc google-chrome asp.net-mvc-4 caching