0

首先,我检查了所有相关问题,但没有一个能解决我的问题。

我正在使用具有多个属性的 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 中选择。

4

1 回答 1

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 },
};
于 2012-10-24T14:52:25.707 回答