title: EditorFor passes value to POST controller in viewModel, but DisplayFor and HiddenFor don't?
body: <p>In my view I have: </p>
  
  <pre><code>@Html.EditorFor(m =&gt; m.Contact, new{style="width: 650px"})
  </code></pre>
  
  <p>Controller:</p>
  
  <pre><code>[HttpGet]
          public ActionResult Backflip()
          {
              // TODO: Make sure name is what we expect
              var contact = getContact();
              return View(new BackflipViewModel(contact));
          }
  
   [HttpPost]
      public ActionResult Broadcast(BackflipViewModel vm)
      {...
  </code></pre>
  
  <p>viewModel: </p>
  
  <pre><code>public class BackflipViewModel
  {
  
      public BackflipViewModel()
      {
      }
  
      public BackflipViewModel(Contact contact)
      {
          Sender = contact;
      }
  
      public Contact Sender { get; set; }
  
  }
  </code></pre>
  
  <p>I really just want a hiddenFor, but if I try @Html.HiddenFor(m => m.Sender), "vm" in my POST controller method contains a null value for Sender.  Same for DisplayFor.  How can I get HiddenFor working? </p>