Хорошо, туристы, вот что я сделал ... Я буду использовать один выпадающий список для cat_code (из моей модели базы данных) в качестве примера.
Модифицировал мой класс модели так:
public IList<string> SelectedCategoryCodes
{
get
{
if (string.IsNullOrWhiteSpace(cat_codes))
return new List<string>();
return cat_codes.Split(',').ToList();
}
set { cat_codes = string.Join(",", value.ToArray()); }
}
дальше вниз у меня было
private sealed class EventReportMetaData
{
....
[DisplayName("Categories")]
public string cat_codes { get; set; }
....
}
Поскольку я сохранял несколько выбранных значений в виде строки с разделителями-запятыми в базе данных, я добавил это в модель MVC, чтобы данные, хранящиеся в этом поле (cat_codes), могли считываться и записываться в представлении.
Затем, на мой взгляд, я изменил объявление ListBoxFor, чтобы оно выглядело так:
@Html.ListBoxFor(m => m.SelectedCategoryCodes, new SelectList(BaanWrapper.GetAllCategories(), "Code", "Description"), new {@size = "10"})
Вот и все. Поскольку в моей модели базы данных уже было поле cat_codes, все стало на свои места.
Надеюсь, это кому-нибудь поможет.