我已经从GitHub安装了mvcdonutcaching并将其包含在我的MVC项目中
我有家庭控制器的索引操作,我已成功使用缓存
[DonutOutputCache(Duration = 24 * 60 * 60, Location = System.Web.UI.OutputCacheLocation.Any)]
public ActionResult Index()
{
return View();
}
在我看来,我正在调用2个部分视图。
<div class="container">
@Html.Partial("BlogPosts")
@Html.Partial("RightSideBar")
</div>
查看BlogPost是动态的,所以我不希望它被缓存,但需要缓存RightSideBar
那么如何设置BlogPost不被缓存 DonutOutputCache设置要缓存的总视图,包括两个部分视图
答案 0 :(得分:1)
如果你想利用MvcDonutCaching&#34; donut&#34;能力,你必须在你的控制器(即BlogPost())中创建一个返回你的PartialView的动作。
[ChildActionOnly]
public ActionResult BlogPosts() {
// ...
return PartialView("BlogPosts", posts)
}
完成此操作后,您可以修改初始视图以使用库HtmlHelpers:
@Html.Action("BlogPosts", true)
问候。