Как установить частичное представление как дырку от бублика в ASP MVC

Я установил mvcdonutcaching из GitHub и включил его в свой проект MVC

у меня есть действие Index для Home Controller, и я успешно использую кеширование на нем

    [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>

View BlogPost является динамическим, поэтому я не хочу, чтобы он был кэширован, но RightSideBar должен быть кэширован

так как я могу установить, что BlogPost не будет кэшироваться, DonutOutputCache устанавливает общее представление для кэширования, включая оба частичных представления

1 ответ

Если вы хотите воспользоваться возможностью "пончика" MvcDonutCaching, вы должны создать Action в вашем контроллере (т.е. BlogPost()), который возвращает ваш PartialView.

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

Как только вы это сделаете, вы можете изменить исходное представление для использования библиотеки HtmlHelpers:

@Html.Action("BlogPosts", true)

С уважением.

Другие вопросы по тегам