title: Set model properties in view or controller?
body: <p>Let's say you've got a Create View and Controller for Model <code>TeddyBear</code>.  Let's pretend <code>TeddyBear</code> has an optional <code>MommyBear</code> property (an <code>int</code>), which is passed in as an id (via query string or just <code>"example.com/Bears/Create/#"</code></p>
  
  <p>There are two ways I could set the <code>MommyBear</code> property on the new <code>TeddyBear</code>:</p>
  
  <p>In the view, with </p>
  
  <pre><code>@{
      ViewBag.Title = "Create";
      Model.MommyBear = Request["id"];
  }
  </code></pre>
  
  <p>Or in the controller, with:</p>
  
  <pre><code>        [HttpPost]
          public ActionResult Create(TeddyBear bear, int id)
          {
              bear.MommyBear = id;
              ...
  </code></pre>
  
  <p>Is either method more efficient? Are there any dangers in using either one? Which is the best practice? </p>