title: ASP.NET MVC model binder parse decimal differently with GET and POST requests
body: <p>The server is hosting Asp.net mvc3 app and the Browser culture is set to da (Danish) </p>
  
  <pre><code>GET request url: /get?d=1.1  (note that the decimal separator is .)
  return: da;1,1   (note that the decimal separator is ,)
  
  GET request url: /get?d=1,1  (the decimal separator is ,)
  return: Exception Details: System.ArgumentException: The parameters dictionary contains a null entry for parameter 'd' of non-nullable type 'System.Decimal' for method 'System.Web.Mvc.ContentResult get(System.Decimal)' in 'Intranet.Controllers.OrderController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter. Parameter name: parameters
  </code></pre>
  
  <p>But given the same input to a post request, the results are exactly opposite.</p>
  
  <pre><code>POST request url: /get2    (form data d=1.1)
  return: Exception ...
  
  POST request url: /get2    (form data d=1,1)
  return: da;1,1
  </code></pre>
  
  <p>I suppose the POST request is working as expected. But why does the GET request behave differently? How does the default model binder work in this case. </p>