我是创建应用程序菜单的部分页面。我使用renderaction调用菜单部分视图。我想通过执行此操作将此部分页面存储在客户端
[OutputCache(Duration=7200, Location =OutputCacheLocation.Client, NoStore= true)]
但是我收到以下错误
OutputCacheAttribute for child actions only supports Duration, VaryByCustom, and VaryByParam values. Please do not set CacheProfile, Location, NoStore, SqlDependency, VaryByContentEncoding, or VaryByHeader values for child actions
此
的替代方案答案 0 :(得分:2)
MVC 3中的部分内容无法进行客户端缓存。客户端浏览器只接收HTML,“部分”仅存在于服务器端。
为什么不使用服务器端缓存?
当菜单内容取决于用户时,您可以将相关用户信息添加到子操作的参数中。例如:
[OutputCache(Duration=7200, VaryByParam="*")]
public PartialViewResult Menu(int userId)
{
...
}