title: MVC 2 model properties not used in view returned as null or empty
body: <p>The issue I am having is when i pass a populated object to a view that doesn't display all of the properties.</p>
  
  <pre><code>public ActionResult Edit(Guid clientID)
  {
      Property property = PropertyModel.GetPropertyDetails(clientID);
      return View("Edit", "Site", property);
  }
  </code></pre>
  
  <p>View:</p>
  
  <pre><code>&lt;%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage&lt;WebFrontend.ViewModels.Property&gt;" %&gt;
  
  &lt;% using (Html.BeginForm())
     {%&gt;
      &lt;%: Html.ValidationSummary(true, "Property update was unsuccessful. Please correct the errors and try again.") %&gt;
  
      &lt;fieldset&gt;
          &lt;legend&gt;Edit Account: &lt;%: Model.ClientAccountNo %&gt;&lt;/legend&gt;
  
           &lt;div class="editor-label"&gt;
              &lt;%: Html.LabelFor(model =&gt; model.ClientName)%&gt;
          &lt;/div&gt;
          &lt;div class="editor-field"&gt;
              &lt;%: Html.TextBoxFor(model =&gt; model.ClientName)%&gt;
              &lt;%: Html.ValidationMessageFor(model =&gt; model.ClientName)%&gt;
          &lt;/div&gt;
  
          &lt;p&gt;
              &lt;input type="submit" value="Update Property" /&gt;
          &lt;/p&gt;
      &lt;/fieldset&gt;
  
  &lt;% } %&gt;
  </code></pre>
  
  <p>When submitted the Property object is passed to this controller method but all of the properties not used in the view are null or empty including Model.ClientAccountNo which is present on the view before submitting.</p>
  
  <pre><code>[HttpPost]
      public ActionResult Edit(Property property)
      {
          if (ModelState.IsValid)
          {
              bool success = PropertyModel.UpdateProperty(property);
              if (success)
              {
                  // property has been updated, take them to the property details screen.
                  return RedirectToAction("Details", "Property", new { clientID = property.ClientID });
              }
              else
              {
                  ModelState.AddModelError("", "Could not update property.");
                  return View("Activate", "Site", property);
              }
          }
          // If we got this far, something failed, redisplay form
          return View("Edit", "Site", property);
      }
  </code></pre>
  
  <p>I can't find anything similar on the web, any explanation for why this is happening and how to fix it would be appreciated.</p>