2011-01-20 7 views
11

Comment mettre en cache la sortie des vues partielles dans ASp.NET MVC 3? Je sais que je peux décorer l'action avec [OutputCache] attribut, mais ce que je veux juste d'inclure le droit @OutputCache dans le PartialView comme indiqué ci-dessous:Vues partielles Mise en cache dans ASP.NET MVC 3

@OutputCacheAttribute 

@model MvcApplication1.Models.someViewmodel 

@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 



@Html.Partial("_MyPartialView") 

Répondre

22

Cela ne peut être fait. Vous devez utiliser l'assistant Html.Action pour rendre une action enfant décorée avec l'attribut et qui rendra le partiel.

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

et comprennent la partie:

@model MvcApplication1.Models.someViewmodel 
@{ 
    ViewBag.Title = "Index"; 
} 
<h2>Index</h2> 
@Html.Action("Index", "My") 
+2

Trois ans plus tard, est-ce déjà possible? –

Questions connexes