title: html.dropdownlistfor not posting back to controller in form
body: <p>I have a form in an MVC application. The post back returns the model with all values populated except for the value of a drop down. This is the code I wrote for the drop down, where exactly am I going wrong?</p>
  
  <p>Model:</p>
  
  <pre><code>public class ViewModel : Model 
  {
      public Dictionary&lt;int, string&gt; ServiceFocusList { get; set; }
      public int ServiceFocus { get; set; }
  }
  </code></pre>
  
  <p>View:</p>
  
  <pre><code>@using
  (Html.BeginForm("SaveServiceRequest","ServiceRequest",FormMethod.Post))
  {
      var AddLotLink = Url.Action("SaveServiceRequest", "ServiceRequest");
      var labelCol = "control-label col-md-4";
      @Html.LabelFor(model =&gt; model.ServiceFocusList, new { @class = @labelCol })
      @Html.ValidationMessageFor(model =&gt; model.ServiceFocusList)
      @Html.DropDownListFor(model =&gt; model.ServiceFocusList ,new SelectList(Model.ServiceFocusList,"Key",
       "Value", Model.ServiceFocus), "Select a Service Focus")
      &lt;input type="submit" id="AddLotBtn" value="Add A Lot" class="saveDraft btn btn-default" urllink="@AddLotLink" /&gt;
  }
  </code></pre>
  
  <p>Controller:</p>
  
  <pre><code>public ActionResult SaveServiceRequest(ViewModel model, long? lotId)
  {
      //At this point both model.ServiceFocusList and model.ServiceFocus are null
      ServiceRequestSupport.SaveServiceRequest(model);
      RedirectToAction("CreateLotOffSR", "Lot", new {area = "Lot", model.ID});
  }
  </code></pre>