Я считаю, что входные теги, связанные с элементами в коллекции (если сама модель не является коллекцией), должны иметь индекс в атрибуте имени, прежде чем можно будет связать опубликованные данные с моделью представления. Вот как я обычно это делаю ...
<% for (int i=0; i<Model.TeamMembers.Count; i++) { %>
<div class="editor-field">
<%: Html.EditorFor(m => m.TeamMembers[i].FirstName)%>
</div>
<div class="editor-field">
<%: Html.EditorFor(m => m.TeamMembers[i].LastName)%>
</div>
<% } %>
Я также использовал шаблон, предложенный Ши, но у меня есть немного кода, пытающегося заставить его отображать скобки / индексы.
<% foreach (var member in Model.TeamMembers) { %>
<%: Html.EditorFor(x =>
member,
"TeamMember",
"TeamMembers["+(member.Number-1)+"]",
new { MemberTypes = Model.GetMemberTypes(member.MemberType.TypeId) })%>
<% } %>
Вот старая, но все еще актуальная статья от Фила Хаака по теме.