title: ASP.NET, MVC ListBoxFor Edit "The parameter 'expression' must evaluate to an IEnumerable when multiple selection is allowed."
body: <p>I am receiving an error that I cannot figure out and even previously answered questions are not binding the ListBox the same way I am.</p>
  
  <p>Here is how I use the ListBox on my create view:
  <a href="https://stackoverflow.com/questions/37575453/asp-net-mvc-return-comma-delimited-string-from-from-listboxfor-to-controller">ASP.NET MVC Return Comma Delimited String From From ListBoxFor To Controller</a></p>
  
  <p>Now when I go to my edit I receive this error:</p>
  
  <blockquote>
    <p>The parameter 'expression' must evaluate to an IEnumerable when
    multiple selection is allowed.</p>
  </blockquote>
  
  <p>On this code:</p>
  
  <pre><code> @Html.ListBoxFor(model =&gt; model.Mask_Concat, Enumerable.Empty&lt;SelectListItem&gt;(), new { @class = "chosen-container chosen-container-multi", @style = "width:300px" })
  </code></pre>
  
  <p>I have tried everything I can think of, binding the  ListBox to a ViewModel, still no luck.</p>
  
  <p>Model:</p>
  
  <pre><code>public string Mask_Concat { get; set; }
  </code></pre>
  
  <p>View:</p>
  
  <pre><code>                &lt;div class="fancy-form" id="mainMask"&gt;
                      @Html.LabelFor(model =&gt; model.Mask_Concat, "Mask(s)", new { @class = "control-label col-md-2" })
                      &lt;div class="col-md-12"&gt;
                          @Html.ListBoxFor(model =&gt; model.Mask_Concat, Enumerable.Empty&lt;SelectListItem&gt;(), new { @class = "chosen-container chosen-container-multi", @style = "width:300px" })
                          @Html.ValidationMessageFor(model =&gt; model.Mask_Concat, "", new { @class = "text-danger" })
                      &lt;/div&gt;
                  &lt;/div&gt;
                  &lt;input type="hidden" id="selectedMaskValues" name="selectedMaskValues" /&gt;
  </code></pre>
  
  <p>JS on view:</p>
  
  <pre><code>//join selected mask values
  $("#Mask_Concat").chosen().change(function () {
      var $hidden = $("#selectedMaskValues");
      $hidden.val($(this).find('option:selected').map(function () {
          return $(this).val();
      }).get().join(","));
  });
  </code></pre>
  
  <p>Controller:</p>
  
  <pre><code>public ActionResult Edit(string id)
  {
      if (id == null)
      {
          return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
      }
      Chip_Master chipMaster = db.Chip_Master.Find(id);
      if (chipMaster == null)
      {
          return HttpNotFound();
      }
      ViewBag.Manufacturer = new SelectList(db.Chip_Master, "Mask_Concat", "Mask_Concat", chipMaster.Mask_Concat.Split(',').ToList());
      return View(chipMaster);
  }
  </code></pre>
  
  <p>Database:
  Mask_Concat Column: 1234,5678,2345,7890 </p>
  
  <p>Thoughts? Need more information?</p>