2012-06-14 7 views
3

У меня есть набор элементов заселенных в раскрывающемся меню:Не удается получить мой DropDownListFor выбрать выбранный элемент SelectListItem в раскрывающемся меню

string myUserName = "PopulatedWithSomeUser"; 

var users= from x in userRepository.GetAll() 
    select new SelectListItem 
     { 
      Value = x.Id.ToString(), 
      Text = x.Name, 
      Selected = (x.Name == myUserName) 
     }; 

Это правильно заполнит объект и устанавливает выбранный элемент. Затем я передать это на мой взгляд с ViewModel и попытаться занесения/выбрать:

Я пробовал:

@Html.DropDownListFor(model=>model.Users,new SelectList(Model.Users),new {id = "add-user-list", name="add-user-list"}) 

также

@Html.DropDownListFor(model=>model.Users,new SelectList(Model.Users,"Value","Text","Selected"),new {id = "add-user-list", name="add-user-list"}) 

также

@Html.DropDownListFor(model=>model.Users,Model.Users, new {id = "add-user-list", name="add-user-list"}) 

Список заполняется правильно, но мой «выбранный» элемент никогда не выбирается. Что я делаю неправильно? Спасибо.

ответ

2

В качестве первого параметра вы должны передать поле для получения данных после отправки формы. Все остальное выглядит правильно:

@Html.DropDownListFor(model=>model.UserId, Model.Users) 

Или, если вы собираетесь предоставить свой собственный идентификатор и имя - было бы лучше, чтобы использовать эту функцию (msdn):

@Html.DropDownList("add-user-list", Model.Users, new {id = "add-user-list"}) 
+0

Спасибо, получил его – Shenaniganz

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