Ответ 1
вам нужно взять значение со своей серверной стороны по имени кнопки,
public ActionResult Admin(List<AdminModel> model,string Command)
{
string s = Command;
}
Я следил за инструкциями на этом посту: бета-версия Asp.net mvc3 с несколькими кнопками отправки и вот моя модель:
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" всегда равна null.
Я также попробовал второй ответ (тот, у кого 146 голосов) на этом форуме: Как вы обрабатываете несколько кнопок отправки в ASP.NET MVC Framework? и тот тоже null. Что я делаю неправильно?
вам нужно взять значение со своей серверной стороны по имени кнопки,
public ActionResult Admin(List<AdminModel> model,string Command)
{
string s = Command;
}
Из того, что я вижу в опубликованном коде, вы не отправляете список моделей на свой контроллер, а только один экземпляр модели. Попробуйте изменить контроллер следующим образом:
[HttpPost]
public ActionResult Admin(AdminModel model)
{
string s = model.Command;
}