title: ASP.NET MVC Ajax.BeginForm eats params of submit button clicked. Looks like bug
body: <p>If you are using Ajax.BeginForm() with multiple submit buttons similar to this:</p>
  
  <pre><code>// View.aspx
  &lt;% using (Ajax.BeginForm("Action", "Controller", 
             new AjaxOptions { UpdateTargetId = "MyControl",  }))
  { %&gt;
      &lt;span id="MyControl"&gt;
         &lt;% Html.RenderPartial("MyControl"); %&gt;
      &lt;/span&gt;
  &lt;% } %&gt;
  
  //MyControl.ascx
  &lt;%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %&gt;
  &lt;input name="prev" type="submit" value="prev" /&gt;
  &lt;input name="next" type="submit" value="next" /&gt;
  //...
  </code></pre>
  
  <p>Everything is submitted to the controller fine but the params for the submit button that was clicked are absent from the Request. In otherwords Request["next"] and Request["prev"] are always null.</p>
  
  <p>I looked in to the JavaScript in Microsoft.MvcAjax.js and it looks like the function Sys_Mvc_MvcHelpers$_serializeForm completely skips over the inputs that are of type 'submit'.</p>
  
  <p>This doesn't seem logical at all. How else can you find out what button has been clicked?</p>
  
  <p>It looks like a bug to me. Is there any logical reason to skip these form parameters?</p>