title: MVC3 View Model - List of Complex Objects, containing Lists
body: <p>How do I bind such a complex model with multiple layers that contain multiple objects? 
  Right now I pass the model to the view - (populating a form / a check box tree) and I would like the exact model back (SubjectSelectionModel) but it's not binding correctly.</p>
  
  <p>Could anyone elaborate on the process I need to take in order to bind these correctly in my view?</p>
  
  <p>View Model:</p>
  
  <pre><code>public class SubjectSelectionModel
  {
      public IList&lt;Subject&gt; Subjects { get; set; }
  }
  </code></pre>
  
  <p>Subject Class:</p>
  
  <pre><code>public class Subject
  {
      public String Name { get; set; }
      public IList&lt;Bin&gt; Bins { get; set; }
  
      public Subject()
      {
  
      }
  
      public Subject(IList&lt;Course&gt; courses)
      {
  
      }
  }
  </code></pre>
  
  <p>Bin Class:</p>
  
  <pre><code>public class Bin 
  {
      public Subject Subject { get; set; }
      public int Amount { get; set; }
  
      public IList&lt;Foo&gt; Foos { get; set; }
  }
  </code></pre>
  
  <p>Foo Class:</p>
  
  <pre><code>public class Foo
  {
      public int Number { get; set; }
  }
  </code></pre>