MVC 在 ViewBag 的视图中显示多个 Select 列表?

MVC show Multiple Select List in View from ViewBag?

我已将列表存储在 ViewBag 中,如下所示:

ViewBag.CarTypes = db.CarTypes.Select(c=>c.Name).ToList();

现在,我想在列表框中显示这些名称,以便用户可以 select 多个名称。我正在尝试,但总是出错。

@Html.ListBoxFor(model=>model.carNames, ViewBag.CarTypes as SelectList)

它不起作用。我究竟做错了什么?这是正确的做法吗?

我知道 ViewBag 是弱类型的,我不应该使用它,我应该使用视图模型,但我需要使用 ViewBag。

将您的列表框更改为:

 @Html.ListBoxFor(model=>model.carNames, new MultiSelectList(ViewBag.CarTypes))