ASP.NET MVC2多个提交按钮,使用FireFox和Chrome提交值null

时间:2010-10-20 15:27:49

标签: 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_b">b</button>
<% } %>

控制器方法如下:

[Authorize, HandleError, HttpPost]
public ActionResult Submit(string submitType)
{
  //placeholder
}  

使用IE(js开启或关闭)按钮会返回各自的submitType值,但Chrome和FireFox的submitType为null(当js打开时,js关闭时很好)

有人知道我怎么能解决这个问题吗?

(请注意我需要使用Ajax表单,因为它会进行部分回发/更新)

1 个答案:

答案 0 :(得分:0)

Crap,前一个开发人员将BeginForm()标记放在无效的地方(在div中间的form标签的开头,一个完全独立的div中的form标签的结尾),而VS没有抛出任何错误,它导致无效的标记,导致FireFox和Chrome忽略并且不返回提交值! 一旦我纠正了标签位置,它就开始正常工作了。