Как я могу заставить этот ASP.NET MVC SelectList работать? - PullRequest
124 голосов
/ 23 апреля 2009

Я создаю список выбора в моем контроллере для отображения в представлении.

Я пытаюсь создать его на лету, что-то вроде того ... вот так ...

myViewData.PageOptionsDropDown = 
   new SelectList(new [] {"10", "15", "25", "50", "100", "1000"}, "15");

Компилируется, но вывод плохой ...

<select id="PageOptionsDropDown" name="PageOptionsDropDown">
    <option>10</option>
    <option>15</option>
    <option>25</option>
    <option>50</option>
    <option>100</option>
    <option>1000</option>
</select>

Обратите внимание, как не выбран ни один элемент?

Как я могу это исправить ??

Ответы [ 23 ]

0 голосов
/ 28 марта 2010

значение, выбранное в модели, используется вместо элемента по умолчанию. (Я согласен, я не читал все сообщения)

0 голосов
/ 13 декабря 2010

Возможное объяснение состоит в том, что значение списка выбора, к которому вы привязываете, не является строкой.

Итак, является ли параметр «PageOptionsDropDown» в вашей модели строкой в ​​вашей модели? Потому что, если это не так, то выбранное значение в списке не будет отображаться.

0 голосов
/ 03 января 2011

Если вы посмотрите в исходном коде MVC 2 метод расширения Html.DropDownList, он никогда не проверяет свойство SelectedValue класса SelectList. Он будет пытаться сопоставить только вашу модель.

Все вышеперечисленное - это вариации темы, т. Е. Как вы отправляете набор данных в раскрывающийся список для просмотра, и все они так же хороши, как и другие (более или менее).

Проблема в видении. Либо создайте свой собственный метод расширения DropDownList, который соответствует заданному значению выбора, либо выполните итерации вручную. Который когда-либо работает лучше для вас.

...