Когда кнопка отправки запускает вторую форму, кнопка отправки второй формы отправляет запрос POST к действию исходной формы. - PullRequest
0 голосов
/ 07 января 2011

У меня возникли проблемы с формами MVC, в частности, при отправке формы и отображении второй формы.

Кнопка отправки второй формы переходит к действию исходной формы.Я спросил, могут ли формы быть вложенными: Почему вложенные формы в Asp.net mvc не имеют области видимости? .Поскольку теги форм действительно не могут быть вложенными, я изменил их так, чтобы формы находились в отдельных элементах div, думая, что это решит проблему.

После того, как пользователь нажмет кнопку отправки в первой форме, появится вторая форма.Когда пользователь нажимает кнопку отправки этой формы, он отправляет в контроллер действие исходной формы, а не имя, указанное после представления и модели представления новой формы.

Вставляемая форма использует Ajax.BeginForm(new AjaxOptions {UpdateTargetId="X"}))

Вторая форма имеет тег <input type="submit"> в конце.Опять же, когда пользователь нажимает эту кнопку, ни одно из значений в модели формы не отправляется обратно в контроллер.

Я попытался явно указать действие контроллера в ссылке Ajax:

<%: Ajax.ActionLink("Add OS","OS",new AjaxOption{UpdateTargetId="", HttpMethod="POST"})%>

Отправляет форму обратно к правильному действию.Однако все значения, отправляемые обратно, являются нулевыми.

FormCollection кратко работал с Html.BeginForm и анализом словаря FormCollection, но эта установка перестала работать по причине, которую я не полностью понимаю.

В чем здесь проблема?Я чувствую, что снова нахожусь в стране вебформ ...

1 Ответ

0 голосов
/ 07 января 2011

Я думаю, что проблема в том, что вы пытаетесь отправить две разные формы для одного и того же действия.Обычно, когда у вас есть две формы, у вас есть две разные связанные модели представления, содержащие поля.Поэтому я бы порекомендовал вам два разных действия контроллера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...