Кнопка ввода формы MVC с именем не отправляется

0

У меня простая форма, у которой есть поля ввода имени и возраста, внизу у меня есть две кнопки:

<input type="submit" id="submitButton" name="submitAction" value="Save" />
<input type="submit" id="submitButton" name="submitAction" value="Submit" />

Кнопка сохранения просто создает временные данные, чтобы они могли вернуться и отредактировать ее, кнопка отправки будет продолжена и создаст ее, теперь, когда нажата любая из кнопок, она переходит к этой функции контроллера:

public ActionResult CreatePerson(Person model, string submitAction)
{
    //lots of code i removed
}

но submitAction - это нуль, любые идеи о том, почему это происходит?

Мой полный код.cshtml

@model Person

@using (Html.BeginFormAntiForgeryPost(null, FormMethod.Post))
{
    @Html.TextBox(x => x.Name)
    @Html.TextBox(x => x.Age)

    <input type="submit" id="submitButton" name="submitAction" value="Save" />
    <input type="submit" id="submitButton" name="submitAction" value="Submit" />
}
Теги:
forms
asp.net-mvc

2 ответа

0

Я выяснил проблему

В основном мне пришлось изменить это

<input type="submit" id="submitButton" name="submitAction" value="Save" />
<input type="submit" id="submitButton" name="submitAction" value="Submit" />

к этому

<input type="submit" id="saveButton" name="submitAction" value="Save" />
<input type="submit" id="saveButton" name="submitAction" value="Submit" />

Сообщение submitButton, похоже, не опубликовано правильно :)

0

Вам нужно указать action at the form level Не на кнопку отправки

<form action="controller/action" method="post">

  <input type="submit" id="submitButton" value="Save" />

</form>

Лучше использовать MVC, встроенный в HTML-классы, такие как

@using (Html.BeginForm("ActionName", "ControllerName", FormMethod.Post))
{
  <input type="submit" id="submitButton" value="Save" />
}
  • 0
    и куда бы я положил это?
  • 0
    @Canvas, покажи нам свой полный вид (.cshtml) кода.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню