是否可以缓存视图的内容,不包括共享的_Layout我在我的控制器上为ViewResult类型的Action设置了输出缓存属性,并且它还缓存了在_Layout上定义的内容。这意味着它缓存了诸如用户名之类的东西,如果我没有登录但以前在登录时访问过该页面,则可能无效。
将动作更改为PartialViewResult会解决此问题吗?
答案 0 :(得分:1)
在MCV中,缓存基于控制器而不是View,因此您无法使用视图或PartialViewResult执行此操作,但您可以使用@Html.Action
部分缓存,在这种情况下,您必须为所有部分项目定义新操作,从该行动的结果中调用该视图。
最后不要忘记您在操作中调用它的部分视图中的Layout = null;
代码,因为它会导致缓存错误,并且此问题也有相同的数据注释但是忘记了我认为它只是[PartialAction]
不确定是诚实的。