2011-01-20 16 views
11

Jak mogę buforować dane wyjściowe częściowych widoków w ASp.NET MVC 3? Wiem, że mogę urządzić akcję z [OutputCache] atrybutu ale co ja po prostu chcesz dołączyć @OutputCache prawo do PartialView jak pokazano poniżej:Widoki częściowe Buforowanie w ASP.NET MVC 3

@OutputCacheAttribute 

@model MvcApplication1.Models.someViewmodel 

@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 



@Html.Partial("_MyPartialView") 

Odpowiedz

22

To nie może być zrobione. Do renderowania akcji podrzędnej ozdobionej atrybutem [OutputCache] należy użyć pomocnika Html.Action, który wyrenderuje element częściowy.

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

a następnie obejmować częściowe:

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

Trzy lata później, jest to już możliwe? –

Powiązane problemy