Как установить частичное представление как дырку от бублика в 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)
С уважением.