Ich bin mit Razor-Ansicht-Engine in ASP.Net MVC 3 RC 2. Dies ist Teil meiner Ansicht city.cshtml
Nested Teil Ausgabe-Caching in ASP.NET MVC 3
(stark vereinfacht Code für die der Einfachheit halber in Beispiel)
<!-- in city.cshtml -->
<div class="list">
@foreach(var product in SQL.GetProducts(Model.City))
{
<div class="product">
<div>@product.Name</div>
<div class="category">
@foreach(var category in SQL.GetCategories(product.ID))
{
<a href="@category.Url">@category.Name</a> »
}
</div>
</div>
}
</div>
ich möchte diesen Teil meiner Ausgabe cachen Attribut Output, so habe ich eine Aktion ProductList
mit OutputCache
Attribut
und ich geschaffen, um die Ansicht in ProductList.cshtml
wie unten
<!-- in ProductList.cshtml -->
@foreach(var product in Model.Products)
{
<div class="product">
<div>@product.Name</div>
<div class="category">
@foreach(var category in SQL.GetCategories(product.ID))
{
<a href="@category.Url">@category.Name</a> »
}
</div>
</div>
}
aber ich muß noch die Kategorie Pfad Ausgabe auf jedes Produkt cachen. so habe ich eine Aktion CategoryPath
mit OutputCache
Attribut
<!-- in ProductList.cshtml -->
@foreach(var product in Model.Products){
<div class="product">
<div>@product.Name</div>
<div class="category">
@Html.Action("CategoryPath", new { ProductID = product.ID })
</div>
</div>
}
Aber anscheinend ist dies nicht erlaubt. Ich habe diesen Fehler:
Ich glaube, sie haben einen guten Grund, warum sie dies verbieten müssen. Ich möchte wirklich diese Art von geschachtelte Ausgabe Caching.
Eine Idee für eine Problemumgehung?
[Überprüfen Sie diesen Link] (http://blog.stevensanderson.com/2008/10/15/partial-output-caching-in-aspnet-mvc/) – Korayem