Как обрабатывать вложенные формы в ASP.NET MVC - PullRequest
2 голосов
/ 05 июля 2011

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

Я следовал учебнику о том, как обрабатывать каскад, но у меня проблема в том, что теперь у меня есть вложенные формы (код в учебнике использует формы внутри частичных представлений для POST, чтобыдействие контроллера для загрузки 2-й комбинации).У меня есть моя основная форма, в которой я хочу собирать входные значения, но также и вспомогательные формы для каскадных полей выбора.Проблема, с которой я столкнулся, заключается в том, что каскадный выбор не публикует правильное действие контроллера, а вместо этого публикует действия моей основной (внешней) формы.

Я понимаю, что это правильное поведение для браузера (как вложенного).формы, видимо, не поддерживаются) но как правильно это реализовать?

Ответы [ 2 ]

2 голосов
/ 05 июля 2011

Правильный способ - иметь только одну форму. Затем используйте AJAX, чтобы заполнить каскадный выпадающий список. В Интернете приведены сотни примеров того, как это сделать с помощью JSON

.
1 голос
/ 05 июля 2011

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

http://iwayneo.blogspot.co.uk/2013/10/aspnet-mvc-action-selector-with-list.html

что касается каскадных операций - я бы сфокусировался на их заполнении без Ajax 1st - тогда вы можете беспокоиться о добавлении такого рода бликов - если это не сработает без JS, вы все равно окажетесь в плохом месте.

Я бы заполнил 1-й выпадающий список, когда вы изначально загрузите форму, и у меня была бы кнопка «Далее», чтобы заполнить следующий выпадающий список в каскаде. эта отправка может использовать описанный выше метод для публикации в действии, которое затем заполняет второй набор данных на основе выбора 1-го раскрывающегося списка.

имеет смысл?

Тогда как вы решите, что после этого дело зависит от вас, но у вас будет очень прочная основа для создания подобных вещей, поскольку вы будете работать в минимальном техническом сценарии.

ш: //

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