И снова вопрос новичка. ; -)
Я устанавливаю модель просмотра на основе
этот очень полезный пост :
public class My_IndexModel
{
...
public IEnumerable<SelectListItem> My_DropDownList { get; set; }
...
}
Обратите внимание, что я использую
IEnumerable<SelectListItem>
, чтобы иметь возможность установить выбранное свойство.
Значения раскрывающегося списка задаются в контроллере:
public ActionResult Index()
{
...
var DropDownList_Values = from value in My_DB.Value
select new SelectListItem
{
Selected = (value.IsDefault == 1),
Text = value.Value1,
Value = value.Value1
};
...
var viewModel = new My_IndexModel
{ ...
My_DropDownList = DropDownList_Values.ToList(),
...
}
...
return View(viewModel);
}
Означает, что моя модель ViewData содержит (в моем случае) выпадающий список.
Также на моем сайте (* .aspx) показан выпадающий список, который выглядит так:
<%: Html.DropDownList("MyDropDownListField",
new SelectList(Model.My_DropDownList as IEnumerable,
"Value",
"Text",
Model.My_DropDownList
)
)%>
Нет проблем до этого момента.
На сайте (* .aspx) у меня есть простая кнопка «отправить», которая возвращает все данные.
Я получаю событие отправки здесь:
[HttpPost]
public ActionResult Index(My_IndexModel model)
{
if (ModelState.IsValid)
{
... model.My_DropDownList ...
}
}
Но DropDownList пуст!
Что нужно сделать, чтобы получить выбранное значение выпадающего списка
в методе [HttpPost]?