2012-04-20 40 views
10

Tôi làm theo các hướng dẫn trên bài đăng này: Asp.net mvc3 razor with multiple submit buttons và đây là mô hình của tôi:MVC4 - Một hình thức 2 nộp nút

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

điều khiển của tôi

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

Xem My

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

Khi tôi đăng lại, chuỗi "s" luôn là rỗng.

Tôi cũng đã thử câu trả lời thứ hai (bài có 146 phiếu) trong bài đăng trên diễn đàn này: How do you handle multiple submit buttons in ASP.NET MVC Framework? và đó cũng là số không. Tôi đang làm gì sai?

+0

http://stackoverflow.com/questions/2423041/using -two-submit-buttons-inside-single-form/2426152 # 2426152 Làm thế nào về điều này? – takepara

Trả lời

24

bạn cần phải thực hiện các giá trị từ phía máy chủ của họ bằng tên của nút,

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

whoa Tôi nghĩ rằng tôi đã thử này, mỗi diễn đàn thứ hai trên bài viết của tôi. Tôi không biết những gì tôi đã làm sai thời gian đó. nó hoạt động bây giờ cảm ơn. –

+0

Lưu ý rằng khi sử dụng thẻ '

0

Từ những gì tôi có thể nhìn thấy trong mã được đăng, bạn không gửi danh sách các mô hình cho bộ điều khiển của mình, chỉ cần một cá thể mô hình duy nhất. Hãy thử thay đổi bộ điều khiển này:

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

Chế độ xem của tôi đã được đưa vào danh sách AdminModel :). –

Các vấn đề liên quan