.NET MVC MultiSelectList и выбранные значения

Я пытаюсь установить выбранные значения для MultiSelectList, но страница не отображает значений, как выбрано. Я попробовал каждый практический способ сделать это и все еще получить те же результаты. Я в настоящее время пытаюсь передать список выбранных объектов на пути конструктор. То, что получает меня, - то, что, когда я осматриваю объект MultiSelectList, selectedvalues свойство содержит объекты, которые я передал в него с помощью конструктора, но это все еще не отображается.

Я заметил, что у многих людей есть та же проблема, но я не видел ответ, который работал на меня. Я попытался выполнить итерации через список и установить выбранное свойство на истинный, я попытался создать multiselectlist с нуля и установить каждый, отдельные объекты выбрали свойство, и я попытался использовать конструктора. Ни один из них не работал. Я также нашел предположение, что свойство MultiSelectList нельзя было назвать тем же как управление (который я попробовал), и это не работало. Почему настолько трудно создать выпадающий список с выбранными значениями с помощью этой платформы? Я пропускаю что-то?


                    
<%= Html.ListBox("StatesOfPractice", Model.StatesOfPracticeList)%>
<%= Html.ValidationMessage("StatesOfPractice")%>

Редактирование 1

Это, кажется, происходит, когда я инстанцирую MultiSelectList. Если я осматриваю объект в Представлении и открываю, Results View I видит, что "Аляска" не выбрана, когда я знаю, что это должно быть.

http://imgur.com/eTIdH.jpg

Я инстанцирую как это.

new MultiSelectList(List, "Code", "Description", List);

GenericDataContract является просто классом с двумя свойствами, Кодом и Описанием. Первый Список является всеми состояниями, второй Список является моими выбранными состояниями.

7
задан halfer 9 July 2018 в 06:37
поделиться

2 ответа

Я полагаю, что он извлекает выбранные элементы из модели, а не из списка элементов. Убедитесь, что свойство модели StatesOfPractice заполнено элементами, которые вы хотите выбрать. То есть свойство модели StatesOfPracticeList предоставляет набор элементов, используемых для заполнения списка. Свойство модели StatesOfPractice, которое будет набором значений выбранных свойств при публикации формы, также должно содержать выбранные значения по умолчанию при отображении представления. Под капотом он использует метод HtmlHelper GetModelStateValue, чтобы найти выбранное значение (значения) для любого списка select. Я предполагаю, что это сделано для того, чтобы было проще сохранить выбранные значения, когда произойдет ошибка валидации и форма будет повторно отображена с ошибками состояния модели.

1
ответ дан 6 December 2019 в 19:36
поделиться

Грррррр, я нашел его. Очевидно, что выбранные элементы могут быть только списком строк. Как только я изменил свой код, чтобы передать это, он выбрал значения.

8
ответ дан 6 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: