У меня возникли проблемы с формами 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
, но эта установка перестала работать по причине, которую я не полностью понимаю.
В чем здесь проблема?Я чувствую, что снова нахожусь в стране вебформ ...