Кэширование частичных представлений в ASP.NET MVC 3 - PullRequest
11 голосов
/ 20 января 2011

Как я могу кэшировать выходные данные PartialViews в ASp.NET MVC 3? Я знаю, что могу украсить действие атрибутом [OutputCache], но я просто хочу включить @OutputCache прямо в PartialView, как показано ниже:

@OutputCacheAttribute

@model MvcApplication1.Models.someViewmodel

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>



@Html.Partial("_MyPartialView")

1 Ответ

22 голосов
/ 20 января 2011

Это не может быть сделано.Вам нужно использовать помощник Html.Action для рендеринга дочернего действия, украшенного атрибутом [OutputCache], который будет обрабатывать частичное.

public class MyController : Controller
{
    [OutputCache(Duration = 3600)]
    public ActionResult Index()
    {
        return View();
    }
}

, а затем включать частичное:

@model MvcApplication1.Models.someViewmodel
@{
    ViewBag.Title = "Index";
}
<h2>Index</h2>
@Html.Action("Index", "My")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...