То, что вы делаете, пытается опубликовать коллекцию элементов в форме - это действительно может быть сделано в MVC (а также в любой веб-странице / приложении, использующем тег FORM), однако это требует некоторой специальной обработки для избегать коллизий идентификаторов и правильно форматировать данные постов. У Стива Сандерсона есть отличный пост о том, как этого добиться:
http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/
По сути, это оболочка для добавления уникальных направляющих к идентификаторам элементов (в вашем случае для каждого contactInfo) и создания правильного формата массива в тегах. например, <input name="ContactInfo[f2cc4d6b-fc32-45e9-9d3d-fce54c3fede3].FirstName">
если ваша модель похожа на ContactInfo, вы в конечном итоге будете писать как
[HttpPost]
public ActionResult Index(IEnumerable<ContactInfo> contacts)
{
// To do: do whatever you want with the data
}