Возможно, вам нужно отправить фактическое выбранное значение в последнем параметре «BookingViewID» вместо IEnumerable<BookingView>
в качестве дыры IEnumerable<object>
это будет IEnumerable<int>
, если BookingViewID имеет тип int, что-то вроде:
MultiSelectList BookingViewsBookingObjects = new MultiSelectList(_bvs.GetBookingViews(), "BookingViewID", "BookingViewName", (IEnumerable<int>)bo.BookingViews.Select(a=> a.BookingViewID).ToList());
РЕДАКТИРОВАТЬ: Полный код.
Установить данные (Controller / ViewModel):
List<KeyValuePair<int, string>> List = new List<KeyValuePair<int,string>>();;
List.Add(new KeyValuePair<int, string>(1,"Value1"));
List.Add(new KeyValuePair<int, string>(2,"Value2"));
List.Add(new KeyValuePair<int, string>(3,"Value3"));
List.Add(new KeyValuePair<int, string>(4,"Value4"));
List<int> selected = new List<int>{1,2};
ViewData["Multi"] = new MultiSelectList(List.AsEnumerable(), "Key", "Value", selected);
(View):
<%= Html.ListBox("MultiSelectList", ViewData["Multi"] as MultiSelectList)%>
Результат:
альтернативный текст http://www.diarioplus.com/files/pictures/multiselectlist.JPG