title: MVC Model not updating
body: <p><strong>The Model</strong>:</p>
  
  <pre class="lang-cs prettyprint-override"><code>class Address
  {
      public string City { get; set; }
      public string Zip { get; set; }
  }
  </code></pre>
  
  <p><strong>The Controller</strong>:</p>
  
  <pre class="lang-cs prettyprint-override"><code>[HttpPost]
  public ActionResult GetAddress(Address model)
  {
      if (!String.IsNullOrEmpty(model.Zip))
      {
          model.City = GetCityByZip(model.Zip);
      }
      return View(model);
  }
  </code></pre>
  
  <p><strong>The View</strong>:</p>
  
  <pre class="lang-html prettyprint-override"><code>&lt;div class="formrow"&gt;
      @Html.LabelFor(model =&gt; model.City)
      @Html.TextBoxFor(model =&gt; model.City) 
      @Html.ValidationMessageFor(model =&gt; model.City)
  &lt;/div&gt;
  &lt;div class="formrow"&gt;
      @Html.LabelFor(model =&gt; model.Zip)
      @Html.TextBoxFor(model =&gt; model.Zip) 
      @Html.ValidationMessageFor(model =&gt; model.Zip)
  &lt;/div&gt;
  </code></pre>
  
  <p>The problem is whenever the city is being modified, it never gets reflected on the view. During debugging, the <code>model.City</code> contains the correct value but it doesn't show up on view. Even something as simple as <code>@Html.TextBoxFor(model =&gt; model.City)</code> doesn't display the correct <code>model.City</code> value.</p>