Ваше описание мне не понятно, но я дам вам хороший совет. Вместо создания таких полей:
Html.TextBox("name", Model.name)
использование
Html.TextBox("transaction.name", Model.Name)
, а затем
ActionResult Save(Transaction transaction);
Значение префикса должно совпадать с параметром в функции.
Если вы показываете компоненты для элементов на той же странице, используйте
Html.TextBox("transactionitems[i].name", Model.name)
или за одну вещь
Html.TextBox("transactionitem.name", Model.name)
Не используйте одно и то же имя поля для разных компонентов на странице, поскольку это может вызвать проблемы с ModelState. Читайте об использовании префиксов, это, вероятно, спасет некоторые из ваших проблем.
Также помните, что с MVC 2 у вас есть DataAnnotations, которые делают создание форм еще проще.