2010-10-20 23 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