首先,我检查了所有相关问题,但没有一个能解决我的问题。
我正在使用具有多个属性的 ASP.NET MVC Html 帮助程序 Dropdownlistfor,如下所示。
@Html.DropDownListFor(m => m.SelectedPeople,
Model.People,
new { multiple = "multiple" })
/* Viewmodel for my view */
public class MyModel
{
public IEnumerable<SelectListItem> People { get; set; }
public IEnumerable<string> SelectedPeople { get; set; }
}
如果我没有用一些选定的值预先填充下拉列表。它工作正常。选定的值会毫无问题地发布到操作方法。
但是,如果我想预先填充下拉列表,它就不起作用。我按如下方式填充下拉列表,
model.People = new[]
{
new SelectListItem { Value = "1", Text = "group 1" },
new SelectListItem { Value = "2", Text = "group 2" },
new SelectListItem { Value = "3", Text = "group 3" },
};
model.SelectedPeople = new[] { "2", "3" };
通过不工作,我的意思是 SelectListItems 2 和 3 没有在 DropDownList 中选择。