Я пытаюсь установить выбранные значения для MultiSelectList, но страница не отображает значений, как выбрано. Я попробовал каждый практический способ сделать это и все еще получить те же результаты. Я в настоящее время пытаюсь передать список выбранных объектов на пути конструктор. То, что получает меня, - то, что, когда я осматриваю объект MultiSelectList, selectedvalues свойство содержит объекты, которые я передал в него с помощью конструктора, но это все еще не отображается.
Я заметил, что у многих людей есть та же проблема, но я не видел ответ, который работал на меня. Я попытался выполнить итерации через список и установить выбранное свойство на истинный, я попытался создать multiselectlist с нуля и установить каждый, отдельные объекты выбрали свойство, и я попытался использовать конструктора. Ни один из них не работал. Я также нашел предположение, что свойство MultiSelectList нельзя было назвать тем же как управление (который я попробовал), и это не работало. Почему настолько трудно создать выпадающий список с выбранными значениями с помощью этой платформы? Я пропускаю что-то?
<%= Html.ListBox("StatesOfPractice", Model.StatesOfPracticeList)%>
<%= Html.ValidationMessage("StatesOfPractice")%>
Это, кажется, происходит, когда я инстанцирую MultiSelectList. Если я осматриваю объект в Представлении и открываю, Results View I видит, что "Аляска" не выбрана, когда я знаю, что это должно быть.
Я инстанцирую как это.
new MultiSelectList(List, "Code", "Description", List);
GenericDataContract является просто классом с двумя свойствами, Кодом и Описанием. Первый Список является всеми состояниями, второй Список является моими выбранными состояниями.
Я полагаю, что он извлекает выбранные элементы из модели, а не из списка элементов. Убедитесь, что свойство модели StatesOfPractice
заполнено элементами, которые вы хотите выбрать. То есть свойство модели StatesOfPracticeList
предоставляет набор элементов, используемых для заполнения списка. Свойство модели StatesOfPractice
, которое будет набором значений выбранных свойств при публикации формы, также должно содержать выбранные значения по умолчанию при отображении представления. Под капотом он использует метод HtmlHelper GetModelStateValue
, чтобы найти выбранное значение (значения) для любого списка select. Я предполагаю, что это сделано для того, чтобы было проще сохранить выбранные значения, когда произойдет ошибка валидации и форма будет повторно отображена с ошибками состояния модели.
Грррррр, я нашел его. Очевидно, что выбранные элементы могут быть только списком строк. Как только я изменил свой код, чтобы передать это, он выбрал значения.