Вы можете создавать сложные объекты и списки с помощью связывателя моделей по умолчанию, вам просто нужно проиндексировать опубликованные данные, чтобы он мог правильно их выяснить.
Статья Фила Хаака Привязка модели к списку охватывает то, что вам нужно сделать. В двух словах, просто проиндексируйте поля списка со скрытым полем, например:
<input type="hidden" name="products.Index" value="0" />
<input type="text" name="products[0].Name" value="Beer" />
<input type="text" name="products[0].Price" value="7.32" />
Именованное поле products.Index
описывает, что для вашего списка "продуктов" есть индекс "0". В этом случае поля «Имя» и «Цена» являются свойствами объекта с индексом 0. Обратите внимание, что индекс не должен быть целым числом, поэтому, если вы привязываетесь к словарю, вы можете использовать что угодно в качестве значения индекса.