title: Html.BeginForm with specified arguments uses GET instead of POST
body: <p>I'm creating a form with .NET MVC and when I pass arguments in @BeginForm, it uses get no matter what I do.</p>
  
  <p>This is what I have so far:</p>
  
  <pre><code>@using (Html.BeginForm("QueryIndexUpdate", "Analysis", FormMethod.Post)){}
  </code></pre>
  
  <p>I've tried removing ", FormMethod.Post" to see what would happen, and still uses GET.
  When I use BeginForm() with not arguments, it uses POST, but calls the wrong method in the controller (it goes back to index).</p>
  
  <p>Any ideas why I might have this issue?</p>
  
  <p>Controller </p>
  
  <pre><code>[Route("query/_queryindexfilterpartial")] 
  [HttpPost, ValidateAntiForgeryToken] 
  public ActionResult QueryIndexUpdate(QueryFilterViewModel filterModel) 
  { 
      if (ModelState.IsValid) 
      { 
          filterModel.Field = filterModel.Field ?? 0; filterModel.Item = ListBoxExtension.GetSelectedValues&lt;int&gt;("Item"); 
      } 
  
      return RedirectToAction("Query", "Analysis", filterModel); 
  }
  </code></pre>