2016-03-22 10 views
4

Я отрисовываю выпадающий список с использованием моих перечислений, и у меня есть только 3 варианта, но по какой-то причине он отображает четыре. Верхняя и стандартная опция просто пустая/пустая, и я хочу, чтобы это было удалено. Я хочу, чтобы значение top/default было «Option1».Удалить пустую/пустую запись в верхней части окна EnumDropDownList For

Перечисления:

public enum EventType 
{ 
    [Display(Name = "Option 1")] 
    Option1, 

    [Display(Name = "Option 2")] 
    Option2, 

    [Display(Name = "Option 3")] 
    Option3 
} 

Вид:

@Html.EnumDropDownListFor(model => model.EventType, null, new { @id = "eventType", @class = "form-control" }) 

Спасибо за вашу помощь.

ответ

6

Ваш второй параметр - это «Option Label», который используется для установки первого элемента в раскрывающемся списке. Из документации: «Текст для по умолчанию пустой пункт»

Используйте перегрузку, которая не принимает в ярлыке опции:

@Html.EnumDropDownListFor(model => model.EventType, new { @id = "eventType", @class = "form-control" }) 

UPDATE

Я просто попробовал ваш код. Когда я делаю так:

@Html.EnumDropDownListFor(model => model.EventType, null, new { @id = "eventType", @class = "form-control" }) 

И

@Html.EnumDropDownListFor(model => model.EventType, new { @id = "eventType", @class = "form-control" }) 

я получаю:

enter image description here

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

Любой шанс, который вы делаете вещь с javascript, чтобы добавить элемент в раскрывающийся список?

+0

Я ранее пробовал это, и пустое значение все еще там, поэтому я попробовал то, что было в моем OP, и пустое значение также все еще существует, но не уверен, как избавиться от него. – James

+0

Я не хочу иметь текст для пустого элемента по умолчанию. Когда текстовое поле «появляется», я хочу, чтобы первое перечисление отображалось, а также отображалось в верхней части списка. – James

+0

Я не думаю, что я делаю что-либо с javascript, который сделает это. Мне удалось получить Option1, выбранный по умолчанию, но когда вы нажимаете раскрывающийся список, по-прежнему остается над ним надпись, которая не имеет смысла! – James