title: Partial within a partial null exception
body: <p>I have a MVC form which is more complex than all of my others, utilising three models.</p>
  
  <p><code>Company -&gt; Base_IP -&gt; RequestedIP</code> which goes <code>ViewModel -&gt; Partial1 -&gt; Partial2</code></p>
  
  <p>I am using BeginCollectionItem for this has each model has a property list of the the model down from it. IE - Company has a property called baseIps, the BaseIp class has a property called requestedIps, it is <code>requestedIps</code> that is coming back null, the count is there on page render, but is not on submit.</p>
  
  <p>When submitting to the database in the <code>post</code> Create(), I get nulls on the 'requestedIps' property, why is this?</p>
  
  <p>I've added the offending controller and partial code samples below, not the entire thing as it's massive/redundant - any questions, please let me know.</p>
  
  <p>Controller - <strong>[HttpGet]Create()</strong></p>
  
  <pre><code>public ActionResult Create()
          {
              var cmp = new Company
              {
                 contacts = new List&lt;Contact&gt;
                  {
                      new Contact { email = "", name = "", telephone = "" }
                  }, pa_ipv4s = new List&lt;Pa_Ipv4&gt;
                  {
                      new Pa_Ipv4 
                      { 
                          ipType = "Pa_IPv4", registedAddress = false, existingNotes = "", numberOfAddresses = 0, returnedAddressSpace = false, additionalInformation = "",
                          requestedIps = new List&lt;IpAllocation&gt;
                          {
                              new IpAllocation { allocationType = "Requested", cidr = "", mask = "", subnet  = "" }
                          }
                      }
                  }
              };
              return View(cmp);
          }
  </code></pre>
  
  <p>Controller - <strong>[HttpPost]Create()</strong></p>
  
  <pre><code>        [HttpPost]
          [ValidateAntiForgeryToken]
          public ActionResult Create(Company cmp) // does not contain properties assigned/added to in view render
          {
              if (ModelState.IsValid)
              {
                  db.companys.Add(cmp);
                  db.SaveChanges();
                  return RedirectToAction("Index");
              }
              return View(cmp);
          }
  </code></pre>
  
  <p><strong>Create View</strong></p>
  
  <pre><code>@model Company
  @using (Html.BeginForm())
  {
              &lt;div id="editorRowsAsn"&gt;
                  @foreach (var ip in Model.pa_ipv4s)
                  {
                      @Html.Partial("Pa_IPv4View", ip)
                  }
              &lt;/div&gt;
              &lt;br /&gt;
              &lt;div data-role="main" class="ui-content"&gt;
                  &lt;div data-role="controlgroup" data-type="horizontal"&gt;
                      &lt;input type="submit" class="ui-btn" value="Create" /&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
  }
  </code></pre>
  
  <p><strong>Pa_Ipv4 View</strong></p>
  
  <pre><code>@model Pa_Ipv4
  @using (Html.BeginCollectionItem("pa_ipv4s"))
  {
      @Html.AntiForgeryToken()
  
      &lt;div id="editorRowsRIpM"&gt;
          @foreach (var item in Model.requestedIps)
          {
              @Html.Partial("RequestedIpView", item)
          }
      &lt;/div&gt;
      @Html.ActionLink("Add", "RequestedManager", null, new { id = "addItemRIpM", @class = "button" }
  
  }
  </code></pre>
  
  <p><strong>RequestedIpView</strong></p>
  
  <pre><code>@model IpAllocation
  &lt;div class="editorRow"&gt;
      @using (Html.BeginCollectionItem("requestedIps"))
      {
          &lt;div class="ui-grid-c ui-responsive"&gt;
              &lt;div class="ui-block-a"&gt;
                  &lt;span&gt;
                      @Html.TextBoxFor(m =&gt; m.subnet, new { @class = "checkFiller" })
                  &lt;/span&gt;
              &lt;/div&gt;
              &lt;div class="ui-block-b"&gt;
                  &lt;span&gt;
                      @Html.TextBoxFor(m =&gt; m.cidr, new { @class = "checkFiller" })
                  &lt;/span&gt;
              &lt;/div&gt;
              &lt;div class="ui-block-c"&gt;
                  &lt;span&gt;
                      @Html.TextBoxFor(m =&gt; m.mask, new { @class = "checkFiller" })
                      &lt;span class="dltBtn"&gt;
                          &lt;a href="#" class="deleteRow"&gt;&lt;img src="~/Images/DeleteRed.png" style="width: 15px; height: 15px;" /&gt;&lt;/a&gt;
                      &lt;/span&gt;
                  &lt;/span&gt;
              &lt;/div&gt;
          &lt;/div&gt;
      }
  &lt;/div&gt;
  </code></pre>