title: Postback and redirect with cloudflare causing strange behaviour
body: <p>We are using Cloudflare for their DNS and HTTP Proxy. We noticed some strange behavior today to do with postbacks and redirects. </p>
  
  <p>We have a Masterpage for our Admin system with a TextBox and a Button. The user types in a Id and clicks the button and we then redirect them to the purchase on our system (this purchase page uses the same Masterpage).</p>
  
  <p>Here is a sequence of events:</p>
  
  <ol>
  <li>Search for purchase with Id 123456 (Redirected correctly to 123456)</li>
  <li>Search for purchase with Id 123457 (Redirected to 123456)</li>
  <li>Search for purchase with Id 234567 (Redirected correctly 234567)</li>
  <li>Search for purchase with Id 123457 (Redirected to 123456)</li>
  </ol>
  
  <p>We first tried this on local and were not able to replicate the behavior. We then tried to inspect the POST to see if we were sending an incorrect value. After opening up Fiddler to inspect the request the issue went away completely. I then closed Fiddler and used Chrome tools to inspect the POST and saw that the correct Id was being sent.</p>
  
  <p>We then thought that this could have something to do with Cloudflare and so disabled the Cloudflare HTTP Proxy. After doing this everything worked as expected.</p>
  
  <p>Has anyone else experienced this before and if so what can we do to rectify the issue? Below is my code:</p>
  
  <p>Button code:</p>
  
  <pre><code>&lt;asp:Panel runat="server" DefaultButton="btnQuickJumpPurchase" class="row hide-for-small"&gt;
  &lt;div class="four columns offset-by-two"&gt;
  
      &lt;asp:TextBox ID="txtQuickJumpPurchase" CssClass="left nine" placeholder="Purchase ID" runat="server"&gt;&lt;/asp:TextBox&gt;
      &lt;asp:Button ID="btnQuickJumpPurchase" runat="server" Text="Go" OnClick="btnQuickJumpPurchase_Click" CssClass="right button green small radius" /&gt;
  &lt;/div&gt;
  &lt;div class="two columns"&gt;&lt;/div&gt; 
  </code></pre>
  
  <p></p>
  
  <p>The OnClick event handler</p>
  
  <pre><code>protected void btnQuickJumpPurchase_Click(object sender, EventArgs e)
  {            
      int quickPurchaseId = 0;
      int.TryParse(txtQuickJumpPurchase.Text, out quickPurchaseId);
      if (quickPurchaseId == 0)
          HttpContext.Current.Response.Redirect("/admin");
      else
          HttpContext.Current.Response.Redirect($"/admin/purchases/purchase.aspx?id={quickPurchaseId}");
  }
  </code></pre>