невозможно получить данные из привязки модели со списком, представляющим дочернюю таблицу - PullRequest
0 голосов
/ 09 июля 2011

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

По сути, я хочу использовать модальное диалоговое окно, чтобы выбрать сеткуданные, а затем сделать выбор отображаться в списке.(это работает).Затем я хочу отправить этот список в контроллер и иметь дочерние записи для каждого элемента, который был в списке (не работает).

Как я могу получить все элегантно из MVCи получить их в базу данных?

[Setup]

У меня есть объект WorkOrder, который представляет таблицу в SQL.WorkOrder имеет коллекцию WorkerRequests, которая представляет дочернюю таблицу.WorkOrder является родителем.

У меня есть форма, которая создает новые WorkOrders и позволяет добавлять WorkerRequests через модальное диалоговое окно.Записи WorkerRequest отображаются в списке после выбора в диалоговом окне.

В диалоговом окне для добавления элемента используется функция HTMLOptionsCollection add (Element) в javascript.Это работает.

Когда я отправляю сообщение, связыватель данных отбрасывает добавленный элемент.Кажется, я не могу найти необработанные данные в HttpContext, а механизм связывания не делает их доступными.

1 Ответ

0 голосов
/ 09 июля 2011

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

Включите в метод действия параметр с именем

[HttpPost]
public ActionResult Index(FormsCollection collection )
{
    var item = collection["whateverName"];
}

Проверьте, не отображается ли он там как отправная точка.Трудно увидеть, что именно происходит без вашего кода здесь.

Что делает диалог вашей модели - добавляет в список?Ваш диалог отправляет обратно вашему контроллеру, чтобы создать диалог?Содержимое вашего диалога находится внутри формы?Если вы используете диалоговое окно jQuery и ваш диалог находится внутри формы, имейте в виду, что jQuery будет отображать его вне вашей формы при отображении вашего диалога, вам придется снова добавить его в форму.Если это касается вас, я обновлю эту информацию, но давайте удостоверимся, что здесь происходит / не происходит.

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