Вы должны привязать свою модель к списку.
Пожалуйста, ознакомьтесь с: http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx (Phil Haack является одним из людей Microsoft MVC). Это, по сути, хак, который ребята из Microsoft сделали для обеспечения функциональности (Фил утверждает, что они разрабатывают какой-то другой способ сделать это, но пока мы это делаем). Вы можете легко добавить к нему контроль проверки. Пожалуйста, внимательно посмотрите ОЧЕНЬ, когда вы реализуете схему именования, и НЕ забывайте поместить скрытое поле «Индекс». Значение индекса может быть любым, что вам нужно (оно не должно быть числом в последовательности), но все, что вы помещаете в скрытое поле, в качестве значения должно находиться в квадратных скобках для элементов управления ввода, которые следуют, как и в случае с Филлом пример. Дважды проверьте это, я как-то дошел до чистого страдания, потому что забыл поместить скрытый Индекс, так как очень легко что-то пропустить. Кроме того, вторая часть схемы именования («Имя» и «Цена») должна быть такой же, как и в вашей модели.
Когда вы закончите с этим, используйте jQuery для динамического добавления/удаления элементов в вашей форме. Обратите внимание, что селектор jQuery не позволяет использовать квадратные скобки для идентификаторов, поэтому вы можете создавать атрибуты «id» элементов управления ввода каким-либо другим способом (то есть «something_index_propertyName»), в то время как вы сохраняете атрибут «значение» в соответствии с схемой именования.
Счастливое кодирование.