I am trying to work out if there is built-in support for binding complex types to form elements.

To use a common hypothetical situation: I have a Product entity that belongs to a Category - the models look something like this:

public class Product
{
    public int ID { get; set; }
    public string Description { get; set; }
    public Category Category { get; set; }
}
public class Category
{
    public int ID { get; set; }
    public string Title { get; set; }
}

Creating a form to hydrate a new entity that only contains simple value types is nice and simple using the ASP.Net MVC framework, e.g.:

public ActionResult Create(Product product);

But what about the above scenario where your entities contain other complex types? Are there built-in mechanisms for binding an IEnumerable<T> to a drop down list and then automatically hydrating the correct T when the form is submitted?

It would be fairly trivial to do it manually - I'm just trying to ascertain what I can have for free out of the box.

Edit
Report