ASP.NET MVC2多个提交按钮,FireFox和Chrome的提交值为空

ASP.NET MVC2多个提交按钮,FireFox和Chrome的提交值为空,asp.net,ajax,asp.net-mvc-2,Asp.net,Ajax,Asp.net Mvc 2,我有一个带有多个提交按钮的表单: using(Ajax.BeginForm("Submit", "myController", new AjaxOptions { HttpMethod = "Post" })) { %> <button type="submit" name="submitType" value="submit_a">a</button> <button type="submit" name="submitType" value="submit

我有一个带有多个提交按钮的表单:

using(Ajax.BeginForm("Submit", "myController", new AjaxOptions { HttpMethod = "Post" }))
{ %>
<button type="submit" name="submitType" value="submit_a">a</button>
<button type="submit" name="submitType" value="submit_b">b</button>
<% } %>
在IE(js打开或关闭)中,按钮返回各自的submitType值,而在Chrome和FireFox中,submitType为空(当js打开时,js关闭时就可以了)

有人知道我如何纠正这种行为吗


(请注意,我需要使用Ajax表单作为部分回传/更新)

CRAP,以前的开发人员已经将Bebug()放在无效的地方(在DIV中间的表单标记开始,在完全分离的div中结束表单标记),而VS没有抛出任何错误,导致无效的标记,这导致FireFox和Chrome忽略并不返回提交值!


一旦我纠正了标签位置,它就开始正常工作。

您是否尝试过用输入标签替换按钮标签?我模模糊糊地回忆起浏览器在使用按钮而不是输入时出现的一些问题。我试过使用按钮和标记,但都没有用。我很确定它与Sys.Mvc.AsyncForm.handleSubmit有关,我怀疑IE和Chrome/FF之间存在一些差异,这会导致它丢失提交控制值。由于此问题不再有效,您应该能够使用问题下的链接(登录时)删除您的问题。
[Authorize, HandleError, HttpPost]
public ActionResult Submit(string submitType)
{
  //placeholder
}