title: QueryString id parameter not being used
body: <p>I've got a very basic ASP.Net MVC project where I'd like to use a parameter name of id on one of my controller actions. From everything I've read that shouldn't be a problem but for some reason using a parameter name of id fails to get the value extracted from the query string but if I change it to any other different name it will work.</p>
  
  <p>I only have a single route in my global.asx</p>
  
  <pre><code>routes.MapRoute(
      "Default",                                              // Route name
      "{controller}/{action}/{id}",                           // URL with parameters
      new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
  );
  </code></pre>
  
  <p>My controller method is:</p>
  
  <pre><code>public ActionResult Confirm(string id)
  {
       ....
  }
  </code></pre>
  
  <p>A URL of <a href="http://mysite/customer/confirm/abcd" rel="nofollow noreferrer">http://mysite/customer/confirm/abcd</a> works. A URL of <a href="http://mysite/customer/confirm?id=abcd" rel="nofollow noreferrer">http://mysite/customer/confirm?id=abcd</a> fails.</p>
  
  <p>If I change the controller method to: </p>
  
  <pre><code>public ActionResult Confirm(string customerID)
  {
       ....
  }
  </code></pre>
  
  <p>then a URL of <a href="http://mysite/customer/confirm?customerID=abcd" rel="nofollow noreferrer">http://mysite/customer/confirm?customerID=abcd</a> works.</p>
  
  <p>Is there something special about using "id" as a parameter in an ASP.Net MVC query string?</p>
  
  <p>Update: Changed id from 1234 to abcd, my id's are actually strings.</p>