Можно ли иметь более одной кнопки отправки для формы ajax в MVC? У меня есть форма, в которой я хотел бы иметь более одной кнопки отправки, а результат нажатия кнопки управляется условным оператором в контроллере.
Пожалуйста, рассмотрите следующий Ajax-код, который у меня есть в моем приложении. Это форма ajax, которая вызывает метод Create
контроллера Car
при отправке.
@using (Ajax.BeginForm("Create", "Car", new AjaxOptions {
HttpMethod = "POST",
OnSuccess = "NotifySuccess",
OnFailure = "NotifyFailure" }))
{
..form code
<button type="submit" data-option="no_add">Save & Close</button>
<button type="submit" data-option="yes_add">Save & Add</button>
}
Как вы можете видеть, я уже добавил две кнопки отправки, мой план состоял в том, чтобы, используя атрибуты данных, я мог потенциально иметь условие в контроллере для определения результата.
Например, если вы нажмете Save & Close
, вы просто вернетесь на страницу индекса, если вы нажмете Save & Add
, вы попадете в другую форму, потенциально с определенным параметром option. Вот быстрый снимок моего метода создания в моем контроллере.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Car car, string something)
{
if(something = "whatever")
try
{
if (ModelState.IsValid)
{
unitOfWork.CarRepository.Insert(car);
unitOfWork.Save();
return RedirectToAction("Index");
}
}
catch (DataException)
{
...handle catch
}
return View(car);
else {
...do something else
}
}
У меня проблема в том, что любой ввод типа submit
просто отправляет форму. Возможно ли иметь более одной отправки и управления ими на уровне контроллера, основываясь, скажем, на параметре?