2017-01-12 10 views
0

У меня есть два случая, которые работают независимо.Проблемы с моделью, предоставленной заполнителем для выпадающего списка

Если я знаю, что у меня есть данные модели в раскрывающемся списке, я использую этот код.

 @Html.DropDownListFor(model => model.CarID, (SelectList)ViewBag.Cars, htmlAttributes: new { @class = "form-control" }) 

ОДНАКО, проблема с этим, если CarID является null первый элемент в списке будет предварительно выбран в выпадающем списке.

И в другой форме, я использую этот один:

@Html.DropDownListFor(model => model.CarID, "--Select a Car--", (SelectList)ViewBag.Cars, htmlAttributes: new { @class = "form-control" }) 

Мой контроллер имеет это предоставить данные вида:

ViewBag.Cars = new SelectList(db.Units, "CarID", "Name", model.CarID); 

Есть там один из них, которые я могу использовать, где он будет иметь местозаполнитель ТОЛЬКО, если данные модели отсутствуют, чтобы заполнить место?

ответ

1

В вашем втором подходе вы используете вспомогательный метод неверно,

Он должен быть

@Html.DropDownListFor(model => model.CarID,(SelectList)ViewBag.Cars, 
              "Select one", new { @class = "form-control" }) 

Это будет оказывать ниспадающее меню с «Выберите один» вариант в качестве первого (и пункта по умолчанию), если ничего не выбрано (model.CarID - null). Если Model.CarID имеет действительное значение, он выберет соответствующую опцию.

Если вы абсолютно хотите удалить «Выбрать один», когда Model.CarID не имеет значения NULL, вы можете написать javascript, который выполняется при загрузке документа (документ jQuery ready :)), чтобы проверить выбранную опцию и удалить ее по мере необходимости.

+0

Ohhhhhh gotcha! Благодарю. Я так долго его использовал ... никогда не знал! –

+0

Ну, на самом деле у меня все еще есть проблема с этим не появляться. С моим enum seleectList он отлично работает, но с этим он не работает. –

+0

что не отображается? – Shyju

 Смежные вопросы

  • Нет связанных вопросов^_^