Подтвердить что ты не робот

Массив связывания ASP.NET MVC в модели

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

1) У меня есть модельный класс с массивом объектов, содержащихся внутри него. Я хотел бы иметь возможность привязывать это автоматически, поэтому я могу принять один аргумент pollModel в моих контроллерах.

public class pollResponseModel
{
    public long id { get; set; }
    public long pollID { get; set; }
    public string text { get; set; }
    public long count { get; set; }
}

public class pollModel
{
    public long id;
    public long entID { get; set; }
    public string question { get; set; }
    public DateTime posted { get; set; }
    public DateTime expiration { get; set; }

    public pollResponseModel[] responses { get; set; }
}

Проблема в том, что я не уверен, как связать поле responses, видя, что это может быть произвольный размер. Ну, я могу привязать его правильно при отображении вида редактирования, но об этом. Это приводит меня ко второй части моего вопроса:

2) Какой приемлемый способ динамического создания и удаления данных в списке на клиенте, чтобы он мог привязываться к модели и получить доступ к ее модифицированной форме на сервере? Я предполагаю, что процесс создания/удаления работает как графический интерфейс списка iPhone: одна кнопка + добавит новый элемент, а кнопка - в каждой строке данных удалит ее из списка. Я бы предположил, что jQuery является подходящей отправной точкой, но мои навыки JS очень ограничены.

4b9b3361

Ответ 1

Ознакомьтесь с этой статьей Phil Haack: привязка модели к списку. В нем точно объясняется, что вам нужно сделать, чтобы привязываться к свойствам списка или свойствам, которые являются сложными объектами.

По сути, вам просто нужно правильно построить свои данные POST, чтобы модельное связующее могло ее проанализировать. В статье объясняется, как добавлять скрытые поля индекса и представлять сложные свойства в вашей форме.