title: Form serialization always returns empty string
body: <p>I have a dropdown in my view. Based on the selection, i insert a partial view into a div (placeholder) in view. Below is the View.</p>
  
  <pre><code>&lt;div class="container"&gt;
      &lt;div class="row"&gt;
      &lt;div class="col-lg-4"&gt;&lt;p class="lead"&gt;What do you want to do?&lt;/p&gt;&lt;/div&gt;
      &lt;div class="col-lg-8"&gt;
          &lt;select id="myDropDown"&gt;
              &lt;option id="0" selected&gt;I want to..&lt;/option&gt;
              &lt;option id="1"&gt;Reset my password&lt;/option&gt;
          &lt;/select&gt;
      &lt;/div&gt;
  &lt;/div&gt;
  &lt;div id="partialPlaceHolder" style="display:none;"&gt; &lt;/div&gt;
  &lt;script type="text/javascript"&gt;
    $(document).ready(function () {
      $('#myDropDown').change(function () {
  
          /* Get the selected value of dropdownlist */
          var selectedID = $(this).find('option:selected').attr('id');
  
          /* Request the partial view with .get request. */
          $.get('/Requests/FindPartial/' + selectedID, function (data) {
  
              /* data is the pure html returned from action method, load it to your page */
              $('#partialPlaceHolder').html(data);
              /* little fade in effect */
              $('#partialPlaceHolder').fadeIn('fast');
          });
  
      });
  });
  </code></pre>
  
  <p></p>
  
  <p>So when I select, "Reset my password" in the dropdown, I am successfully inserting my partial view into the div in my view. Below is my partial view.</p>
  
  <pre><code> @using (Html.BeginForm())
   {
       @Html.AntiForgeryToken()
       &lt;div class="row"&gt;
           &lt;div class="col-lg-12"&gt;
               &lt;div class="well well-lg" style="text-align:left"&gt;
                   &lt;div class="form-horizontal" id="resetpasswordform"&gt;
                       &lt;h4&gt;Reset Password&lt;/h4&gt;
                       &lt;hr /&gt;
                       &lt;div class="form-group"&gt;
                           @Html.LabelFor(model =&gt; model.ServersList, htmlAttributes: new { @class = "control-label col-md-2" })
                           &lt;div class="col-md-10"&gt;
                               @Html.DropDownListFor(model =&gt; model.ServerName, new SelectList(Model.ServersList))
                           &lt;/div&gt;
                       &lt;/div&gt;
                       &lt;div class="form-group"&gt;
                           @Html.LabelFor(model =&gt; model.UserName, htmlAttributes: new { @class = "control-label col-md-2" })
                           &lt;div class="col-md-10"&gt;
                               @Html.EditorFor(model =&gt; model.UserName, new { htmlAttributes = new { @class = "form-control" } })
                           &lt;/div&gt;
                       &lt;/div&gt;
                       &lt;div class="form-group"&gt;
                           &lt;div class="col-md-offset-2 col-md-10"&gt;
                               &lt;input type="button" id="submitButton" value="Reset" class="btn btn-default" /&gt;
                           &lt;/div&gt;
                       &lt;/div&gt;
                   &lt;/div&gt;
               &lt;/div&gt;
           &lt;/div&gt;
       &lt;/div&gt;
   }
   &lt;script&gt;
       $(function () {
           $("#submitButton").click(function () {
               debugger;
               $.ajax({
                   type: "POST",
                   url: "Requests/Do_ResetPassword",
                   data: $("#resetpasswordform").serialize(),
                   success: function (data) {
                       debugger;
                   },
                   error: function (jqXHR, textStatus, errorThrown)
                   {
                       alert(errorThrown);
                   }
               });
           });
       });
   &lt;/script&gt;
  </code></pre>
  
  <p>The problem is when the submit button is clicked, and I make the ajax post call, the <code>$("#resetpasswordform").serialize()</code> is always "" (empty string).</p>
  
  <p>I tried making the view just with one element. I verified that the elements have name attribute for serialize to work. I also confirmed that I don't have a <code>type=submit</code> in my button. I changed the resetpasswordform into a form instead of div. I even rendered the partial view directly in Index.cshtml without dynamically populating. Nothing fixed the problem. All the time it returns empty string. </p>
  
  <p>I verified all other similar questions in SO and not getting any hint on what i am doing wrong. Please help.</p>