title: ASP.NET browser shows "web page has expired" for back button (after a post back)
body: <p>I'm having trouble with a simple ASP.NET application and the back button after a post back.</p>
  
  <p>The page in question has a simple form on it, some text fields etc, and a dropdown that does a postback (autopostback). </p>
  
  <p>The "normal" flow is the user fills out the form and perhaps changes the dropdown. Based on the dropdown value the page content might change.</p>
  
  <p>The problem I'm having is that after the user has changed the dropdown and the postback has completed then the user clicks the back button. They see a "webpage has expired" message from IE.</p>
  
  <p>I've set the following:</p>
  
  <pre><code>Response.Cache.SetExpires(DateTime.Now.AddMinutes(-1));
  Response.Cache.SetCacheability(HttpCacheability.Private);
  </code></pre>
  
  <p>But that doesn't seem to have nailed the problem.</p>
  
  <p>The actual Cache-Control response header reads as: private, no-cache:"Set-Cookie"</p>
  
  <p>In a classic ASP application the with a Cache-Control response header of just "private" the back button behaves as expected after a "post back".</p>
  
  <p>Is there anyway to force ASP.NET to set the cache-control explicitly to exactly "private"? Or any other solution that results in the back button and postbacks working well together?</p>
  
  <p>Thanks!</p>