2012-04-20 186 views
10

我跟着這個帖子上的說明: Asp.net mvc3 razor with multiple submit buttons 這裏是我的模型:MVC4 - 一種形式2提交按鈕

public class AdminModel 
{ 
    public string Command { get; set; } 
} 

我的控制器

[HttpPost] 
public ActionResult Admin(List<AdminModel> model) 
{ 
    string s = model.Command; 
} 

我查看

@using (Html.BeginForm("Admin", "Account")) 
{ 
    <input type="submit" name="Command" value="Deactivate"/> 
    <input type="submit" name="Command" value="Delete"/> 
} 

當我回發時,字符串「s」始終爲空。

我也在這個論壇帖子中試過第二個答案(有146票的那個):How do you handle multiple submit buttons in ASP.NET MVC Framework?,那也是空的。我究竟做錯了什麼?

+0

http://stackoverflow.com/questions/2423041/using -two-submit-buttons-inside-single-form/2426152#2426152 這個怎麼樣? – takepara 2012-06-25 15:22:11

回答

24

需要通過按鈕的名字從他們的服務器端的價值,

public ActionResult Admin(List<AdminModel> model,string Command) 
{ 
    string s = Command; 
} 
+0

whoa我以爲我試過這個,每個論壇上的第二個論壇。那時我不知道我做錯了什麼。它現在有用,謝謝。 – 2012-04-20 16:58:40

+0

請注意,當使用'

0

從我在發佈的代碼中可以看到的內容中,您並沒有將模型列表發送給您的控制器,只是一個模型實例。嘗試將控制器修改本:

[HttpPost] 
public ActionResult Admin(AdminModel model) 
{ 
    string s = model.Command; 
} 
+0

我的觀點是在一個AdminModel :)列表中。 – 2012-04-20 16:59:19