2010-11-06 56 views
0

ASP.NET MVC - Multiple Buttons on a FormMVC - 一個形式多Html.SubmitImage按鈕,使用Ajax.BeginForm

這就是我試圖做太多,除了第一個答案不符合我的要求,第二個使用的FormCollection。我沒有通過formcollection。我將值傳遞給ActionResult方法,因爲在我的場景中,使用formcollection沒有什麼意義,因爲用戶很難填寫任何數據。

我真的很喜歡使用SubmitImage的時刻,因此,如果您的解決方案並不涉及我切換到CSS或輸入型等

編輯我寧願:我使用Ajax.BeginForm這似乎是問題而不是Html.SubmitImage

回答

0

確定按下哪個按鈕(不使用Javascript)的唯一方法是檢查瀏覽器在提交表單時發送的數據。這與用戶是否填寫表單沒有任何關係,只與您如何向服務器發送請求有關。

如果您在表單中使用POST方法,您將獲得表單集合中按鈕的名稱,否則您將在查詢字符串集合中獲取它。

用來張貼包含在數據表格的按鈕,只有一個,所以你只需要檢查哪一個存在:

if (Request.Form["Save.x"] != null) { 
    // the save button was used 
} else if (Request.Form["Delete.x"] != null) { 
    // the delete button was used 
} else if (Request.Form["Publish.x"] != null) { 
    // the publish button was used 
} else if (Request.Form["Cancel.x"] != null) { 
    // the cancel button was used 
} else { 
    // you got here some other way 
} 
+0

Cat.x ......是什麼×平均這裏? – TPR 2010-11-06 10:22:42

+0

我正在使用Ajax.BeginForm ...並且它們都是空的。 – TPR 2010-11-06 10:26:12

+0

@progtick:當您按下圖像按鈕時,您在圖像中單擊的x和y座標將發送到服務器。 – Guffa 2010-11-06 10:26:58