#asp.net-mvc
#asp.net-mvc
Вопрос:
У меня есть класс:
class Item
{
public string Name { get; set; }
public DateTime Date { get; set; }
}
У меня есть представление, в котором я хочу, чтобы объекты для указанного выше класса были созданы с использованием входных данных (поэтому у меня есть текстовое поле для имени и параметр типа выбора даты для даты). Однако я хочу, чтобы пользователь мог щелкнуть ссылку, и через jquery / javascript в форму будет добавлено другое текстовое поле и выбранная дата, и это может происходить неограниченное количество раз.
Как я могу привязать это к модели, чтобы я мог вернуть это в свой метод действия? В идеале модель должна быть чем-то вроде:
class MyModel
{
public string AProperty { get; set; }
public List<Item> Items { get; set; }
}
Прошу прощения за плохую формулировку, изо всех сил пытаюсь описать, что я хочу, но я думаю, что это должно донести суть.
Ответ №1:
Вы хотите использовать шаблон на стороне клиента, а затем вернуть JSON на ваш контроллер. Если вы используете MVC 3, привязка модели JSON встроена, но в MVC 2 вам нужно настроить свою собственную привязку. Здесь есть пример.
Я рекомендую использовать KnockoutJS для вашей клиентской части. Это очень просто для работы с динамическими коллекциями и очень хорошо документировано. Вы можете увидеть пример, аналогичный тому, что вы пытаетесь сделать здесь, а также по предыдущей ссылке.