首先,我检查了所有相关问题,但没有一个能解决我的问题。
我正在使用具有多个属性的ASP.NET MVC Html helper 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" };
通过不工作,我的意思是在DropDownList中没有选择SelectListItems 2和3。
答案 0 :(得分:1)
你试过了吗?
model.People = new[]
{
new SelectListItem { Value = "1", Text = "group 1" },
new SelectListItem { Value = "2", Text = "group 2", Selected = true },
new SelectListItem { Value = "3", Text = "group 3", Selected = true },
};