2011-01-20 14 views
11

Come è possibile memorizzare nella cache l'output di PartialViews in ASp.NET MVC 3? So di poter decorare l'azione con [OutputCache] attributo, ma quello che voglio solo includere il @OutputCache destra nella PartialView come illustrato di seguito:Memorizzazione nella cache delle viste parziali in ASP.NET MVC 3

@OutputCacheAttribute 

@model MvcApplication1.Models.someViewmodel 

@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 



@Html.Partial("_MyPartialView") 

risposta

22

Questo non può essere fatto. È necessario utilizzare l'helper Html.Action per eseguire il rendering di un'azione figlio decorata con l'attributo [OutputCache] e che renderà il partial.

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

e quindi includere il parziale:

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

Tre anni più tardi, è già questo possibile? –

Problemi correlati