title: Action works with POST, but not with GET (query string)
body: <p>I've been using an Action for obtaining a report's data, as a JSON object, with no problems POSTing a form to it with jQuery's ajax.</p>
  
  <p>But now I need to return different result types depending on a parameter's value. It should return either JSON, an Excel file (built with HTML) or a PDF file. So I have created a nested enum on my controller class for delimiting the available return types.</p>
  
  <p>But now, when I try to invoke the Action from a URL for generating the files, it throws an <code>ArgumentException</code> with the message:</p>
  
  <p><code>
  The parameters dictionary contains a null entry for parameter 'dataInicio' of non-nullable type 'System.DateTime' for method 'System.Web.Mvc.ActionResult DadosRelatorioResumoLancamentos(System.Nullable`1[System.Int32], System.String, System.DateTime, System.DateTime, TipoResultado)' in 'Imovelweb.Web.Intranet.Controllers.RelatoriosController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.<br>
  Parameter name: parameters
  </code></p>
  
  <p>Still, the <code>dataInicio</code> parameter is present at the query string:</p>
  
  <p><code>
  <a href="http://localhost:32331/Relatorios/DadosRelatorioResumoLancamentos?codFantasia=106&amp;numAp=&amp;dataInicio=21%2F03%2F2012&amp;dataFim=21%2F03%2F2012&amp;tipoResultado=1" rel="nofollow">http://localhost:32331/Relatorios/DadosRelatorioResumoLancamentos?codFantasia=106&amp;numAp=&amp;dataInicio=21%2F03%2F2012&amp;dataFim=21%2F03%2F2012&amp;tipoResultado=1</a>
  </code></p>
  
  <p>I have tried the original request (wich returns JSON content) with both methods, and it works with POST, but not with GET (the same <code>ArgumentException</code> is thrown).</p>
  
  <p>What am I missing?</p>
  
  <p><br></p>
  
  <p>Here is the Action method's signature:</p>
  
  <pre><code>public ActionResult DadosRelatorioResumoLancamentos(
      int? codFantasia, 
      string numAp, 
      DateTime dataInicio, 
      DateTime dataFim, 
      TipoResultado tipoResultado = TipoResultado.Json
  );
  </code></pre>
  
  <p>And here is the enum:</p>
  
  <pre><code>public enum TipoResultado
  { 
      Json,
      Excel,
      Pdf
  }
  </code></pre>