0

是否可以缓存视图的内容,不包括共享的 _Layout 我在我的控制器上为 ViewResult 类型的操作设置了输出缓存属性,它还缓存了在 _Layout 上定义的内容。这意味着它会缓存用户名等内容,如果我未登录但之前在登录时访问过该页面,则这些内容可能无效。

将操作更改为 PartialViewResult 会解决这个问题吗?

4

1 回答 1

1

在 MCV 中,缓存基于控制器而不是 View,因此您不能使用 view 或 PartialViewResult@Html.Action进行缓存,但您可以使用部分缓存在这种情况下,您必须为所有 Partial 项目定义一个新操作并从结果中调用视图那个动作。

最后不要忘记Layout = null;您从操作中调用它的部分视图中的代码,因为它会导致缓存错误,并且对于这个问题也有相同的数据注释,但忘记了它我认为它只是[PartialAction]不确定是诚实的。

于 2013-02-25T12:33:54.567 回答