2010-10-20 40 views
0

我有多个表单提交按钮:ASP.NET MVC2多个提交按钮,提交null值使用FireFox和铬

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为空(当js打开时,js关闭时很好)

有没有人知道我可以如何请修复这种行为?

(请注意我需要使用Ajax的形式,因为它部分回发/更新)

+0

你试过用输入标签替换按钮标签吗?我隐约记得一些使用按钮而不是输入的浏览器问题。 – 2010-10-20 15:35:03

+0

我试过它既是

回答

0

废话,以前的开发人员必须放在BeginForm()无效的地方标记(表单标签的中间开始一个div,一个完全独立的div格式的标签结尾),而VS没有抛出任何错误,导致了一个无效的标记,导致FireFox和Chrome浏览器忽略并且不返回提交值! 一旦我纠正了标签位置,它就开始正确工作。

+0

由于此问题不再有效,因此您应该能够使用您的问题下的链接(登录时)删除您的问题。 – patridge 2010-10-20 18:25:44