如何创建具有多个选定值的SelectList?

时间:2011-10-20 17:25:03

标签: c# asp.net-mvc-3 razor

我正在尝试在选择列表中设置多个值:

SelectList List = new SelectList(MyListItems, "valField", "dataField", <selected values>);

我可以使用哪些对象/值来选择多个项目?

3 个答案:

答案 0 :(得分:22)

您希望使用MultiSelectList而不是具有构造函数来满足您的需求:

public MultiSelectList(
    IEnumerable items,
    string dataValueField,
    string dataTextField,
    IEnumerable selectedValues
)

答案 1 :(得分:15)

示例:

class Person
{
    int Id{ get; set; }
    string Name { get; set; }
}

...

var people = new List<Person>()
{
    new Person{ Id = 1, Name = "Steve" },
    new Person{ Id = 2, Name = "Bill" },
    new Person{ Id = 3, Name = "John" },
    new Person{ Id = 4, Name = "Larry" }
}
SelectList List = new MultiSelectList(people, "Id", "Name", new[]{ 2, 3 });

答案 2 :(得分:2)

使用The Harvest Chosen jQuery插件。请参阅我的教程Working with the DropDownList Box and jQuery,其中展示了如何执行此操作。