I'm attempting to use the new partial page caching available in ASP.NET MVC 3. In my view, I'm using:
<% Html.RenderAction("RenderContent", Model); %>
Which calls the controller method:
[Authorize]
[OutputCache(Duration = 6000, VaryByParam = "*", VaryByCustom = "browser")]
public ActionResult RenderContent(Content content)
{
return PartialView(content);
}
Note that both the original view and the partial view are using the same view model.
The problem is that VaryByParam
doesn't work - RenderContent()
always returns the same cached HTML no matter what view model is passed to it. Is there something about VaryByParam
that I don't understand?