ASP.NET MVC способен связывать модели сложных объектов, и у него это хорошо получается. Самый простой способ сделать это - назвать поля вашего представления такими же, как свойства вашего объекта. Таким образом, в вашем методе действия, который форма отправляет вам, нужен только сложный объект в качестве параметра. Пример:
<% using(Html.BeginForm()) { %>
<%= Html.TextBox("Property1") %>
<%= Html.TextBox("Property2") %>
<%= Html.TextBox("Property3") %>
<%= Html.TextBox("Property4") %>
<%= Html.CheckBox("PropertyBool") %>
<%= Html.TextBox("Property5") %>
<% } %>
Какие сообщения для метода действия, например, так:
public ActionResult Index(ComplexObject complexoObject)
{
}
Это довольно простой пример, поскольку вы можете иметь различные элементы управления формой в представлении для соответствующих свойств объекта. Если ваш объект очень сложный, вы всегда можете написать для него свой собственный механизм связывания и переопределить стандартный механизм связывания.