ASP.NET MVC 2在部分视图中禁用浏览器后退按钮的缓存

Mak*_*jer 5 asp.net caching outputcache donut-caching asp.net-mvc-2

Html.RenderAction<CartController>(c => c.Show());在我的主页面上使用显示所有页面的购物车.问题是当我将一个项目添加到购物车然后点击浏览器后退按钮时.它显示旧购物车(来自Cache),直到我点击刷新按钮或导航到另一个页面.

我已经尝试了这个并且它完美地工作但是它为我的站点中的所有页面全局禁用了全局缓存(因为这个Action方法在主页面上使用).出于性能原因,我需要为其他几个部分视图(操作方法)启用缓存.

我不想在页面加载时使用带有AJAX的客户端脚本刷新购物车(和登录视图) - 但这是我现在能想到的唯一解决方案.

有谁知道更好吗?

Eri*_*sch 1

除非您使用 iframe 或 ajax,否则无法仅禁用页面的一部分的浏览器缓存。浏览器只是从缓存中提取数据,您可以禁用页面缓存,也可以不禁用。