Как создать единый список выбора, который показывает выбор с помощью Razor - PullRequest
3 голосов
/ 26 марта 2011

Как мне создать простое поле со списком выбора, используя движок Razor?В настоящее время я сталкиваюсь с двумя проблемами.Во-первых, сгенерированный код списка «Выбрать» автоматически добавляет «несколько».Вопрос первый: как это отключить?Нет, я не хочу использовать выпадающий список.

Вопрос второй сложнее.Сгенерированный «Select» в выходном html не показывает какие-либо элементы как выбранные, несмотря на то, что у рассматриваемого элемента есть выбранные значения.Вот мой код:

Модель объекта:

public class Description
{
    public String code { get; set; }
    public SelectList codelist;
}

Контроллер:

code = "drain";
codelist = new SelectList(sourcelist, "Key", "Value", "drain");

Вид:

@Html.ListBoxFor(model => model.code, Model.codelist)

Вывод HTML:

<select data-val="true" data-val-required="The Select the permit type to apply for field is required." id="code" multiple="multiple" name="code"><option value="drain">Interior Drain Repair</option>
... yadda yadda yadda
</select>

Вы можете увидеть мои две проблемы здесь.Во-первых, в список выбора было добавлено «несколько», а выбранная опция «сток» не выбрана.

Есть предложения?Я собираюсь просто бросить Razor и вручную кодировать эти вещи.

Ответы [ 3 ]

2 голосов
/ 21 декабря 2012

Чтобы создать один список выбора, вы можете использовать DropDownListFor, но установить атрибут размера ... так что сделайте это:

@Html.DropDownListFor(model => model.code,
         Model.codelist, 
         new Dictionary< string, object >() { { "size", "3"} })
1 голос
/ 17 мая 2011

Пользователь Html.DropDownList вместо Html.ListBox для создания одного поля выбора.

0 голосов
/ 26 марта 2011

Ну, у меня вроде есть ответ на первый вопрос - оказывается, это браузер, который меняет рендеринг с простого списка на выпадающий список, если «несколько» удалено, поэтому мне придется проявитьрешить это.

Вопрос второй остается - почему Razor не сохраняет мое выбранное значение во время рендеринга?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...