如何在ASP MVC中将局部视图设置为甜甜圈洞

时间:2016-02-01 16:10:52

标签: asp.net-mvc caching browser-cache donut-caching

我已经从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设置要缓存的总视图,包括两个部分视图

1 个答案:

答案 0 :(得分:1)

如果你想利用MvcDonutCaching&#34; donut&#34;能力,你必须在你的控制器(即BlogPost())中创建一个返回你的PartialView的动作。

[ChildActionOnly]
public ActionResult BlogPosts() {
    // ...
    return PartialView("BlogPosts", posts)
}

完成此操作后,您可以修改初始视图以使用库HtmlHelpers:

@Html.Action("BlogPosts", true)

问候。