1

我已经从 GitHub 安装了 mvcdonutcaching 并将其包含在我的 MVC 项目中

我有家庭控制器的索引操作,并且我成功地使用了缓存

    [DonutOutputCache(Duration = 24 * 60 * 60, Location = System.Web.UI.OutputCacheLocation.Any)]
    public ActionResult Index()
    {
        return View();
    }

在我看来,我正在调用 2 Partial Views 。

<div class="container">
    @Html.Partial("BlogPosts")
    @Html.Partial("RightSideBar")
</div>

查看 BlogPost 是动态的,所以我不希望它被缓存,但 RightSideBar 需要被缓存

那么如何设置不缓存 BlogPost DonutOutputCache 设置要缓存的总视图,包括两个部分视图

4

1 回答 1

1

如果您想利用 MvcDonutCaching “甜甜圈”功能,您必须在您的控制器(即 BlogPost())中创建一个返回您的 PartialView 的操作。

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

一旦你有了这个,你可以修改你的初始视图以使用库 HtmlHelpers 之一:

@Html.Action("BlogPosts", true)

问候。

于 2016-04-20T18:58:42.357 回答