title: Passing model from view to controller using Html.RenderAction results in model being null
body: <p>I have following model:</p>
  
  <pre><code>public class Foo
  {
      public List&lt;Employee&gt; Employees{ get; set; }
      public List&lt;Company&gt; Companies{ get; set; }
      public List&lt;Admin&gt; Admins{ get; set; }
  }
  </code></pre>
  
  <p>Then I have my controller actions:</p>
  
  <pre><code>public ActionResult Index()
  {
      Foo model = GetFooFromSomewhere();
      return PartialView("Index", model);
  } 
  
  public ActionResult Employees(List&lt;Employee&gt; model)
  {
      return PartialView("Employees", model);
  }
  
  public ActionResult Companies(List&lt;Company&gt; model)
  {
      return PartialView("Companies", model);
  }
  
  public ActionResult Admins(List&lt;Admin&gt; model)
  {
      return PartialView("Admins", model);
  }
  </code></pre>
  
  <p>Then I have my views</p>
  
  <p>Index.cshml:</p>
  
  <pre><code>@model Foo
  @if(Model.Employees.Count &gt; 0)
  {
      @{Html.RenderAction("Employees", "Config", Model.Employees);}
  }
  @if(Model.Companies.Count &gt; 0)
  {
      @{Html.RenderAction("Companies", "Config", Model.Companies);}
  }
  @if(Model.Admins.Count &gt; 0)
  {
      @{Html.RenderAction("Admins", "Config", Model.Admins);}
  }
  </code></pre>
  
  <p>Employees.cshtml:</p>
  
  <pre><code>@model List&lt;Employee&gt;
  
  //Display model here
  </code></pre>
  
  <p>Companies.cshtml</p>
  
  <pre><code>@model List&lt;Company&gt;
  
  //Display model here
  </code></pre>
  
  <p>Admins.cshtml</p>
  
  <pre><code>@model List&lt;Admin&gt;
  
  //Display model here
  </code></pre>
  
  <p>As you can see, I use Index.cshtml to get a object that contains multiple lists. This is because I need to hide the actions if no items are found in the list/s. However, when I pass them to the controller again using @Html.RenderAction(...), I get null inside the controller action when I am expecting a List. Why?</p>