title: ASP.NET MVC: Binding a Complex Type to a Select
body: <p>I am trying to work out if there is built-in support for binding complex types to form elements.</p>
  
  <p>To use a common hypothetical situation:
  I have a Product entity that belongs to a Category - the models look something like this:</p>
  
  <pre><code>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; }
  }
  </code></pre>
  
  <p>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.:</p>
  
  <pre><code>public ActionResult Create(Product product);
  </code></pre>
  
  <p>But what about the above scenario where your entities contain other complex types? Are there built-in mechanisms for binding an IEnumerable&lt;<i>T</i>&gt; to a drop down list and then automatically hydrating the correct <i>T</i> when the form is submitted?</p>
  
  <p>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.</p>