ASP.NET MVC DropDownListFor不选择预准备值

时间:2012-10-24 14:45:36

标签: asp.net-mvc html.dropdownlistfor

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

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

1 个答案:

答案 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 },
};