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