title: Why Ajax.BeginForm does not pass form values?
body: <p>I'm trying to show a partial view via calling Ajax.BeginForm, but I can't receive the values of my form(I need to get the value of hidden input, bookId, in controller, e.g 5). </p>
  
  <p>// View</p>
  
  <pre><code>@using (Ajax.BeginForm("Detail", "Books", new AjaxOptions { HttpMethod = "GET",         UpdateTargetId = "ShowBookDiv" }))
  { 
      &lt;input type="hidden" id="bookId" value="5" /&gt;
      &lt;input type="submit" id="sBtn" value="Details"  /&gt;
  }
  </code></pre>
  
  <p>// Controller </p>
  
  <pre><code>[HttpGet]
  public ActionResult Detail(string bookId)
  {                               
      if (Request.IsAjaxRequest())    
      {
          var a = Request["bookId"].ToString();
          // some code to get details
          return PartialView("ShowBooks", details);
      }
      ...
  }
  </code></pre>
  
  <p>When I trace the code in Controller bookId is null!</p>