我按照这篇文章的说明操作: Asp.net mvc3 razor with multiple submit buttons 这是我的模特:
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 :(得分:24)
您需要从服务器端获取按钮名称的值
public ActionResult Admin(List<AdminModel> model,string Command)
{
string s = Command;
}
答案 1 :(得分:0)
从我在发布的代码中看到的内容,您不是向控制器发送模型列表,而只是发送一个模型实例。尝试将控制器修改为:
[HttpPost]
public ActionResult Admin(AdminModel model)
{
string s = model.Command;
}