Вы можете создать свойство viewmodel типа List<SelectListItem>
и передать его для просмотра в виде списка DropDownListFor
(или <select>
помощника по тегам в зависимости от вашего выбора):
Модель
public class ViewModel
{
// other properties
public List<SelectListItem> ExerciseLevelSelectList { get; set; }
}
Контроллер
public IActionResult ActionName()
{
var model = new ViewModel();
// data processing logic here
model.ExerciseLevelSelectList = model.ExerciseLevelList.Select(x => new SelectListItem
{
Text = x.ChoiceText,
Value = x.ID.ToString() // string conversion if ID has numeric value
});
return View(model);
}
View
Использование помощника HTML:
@Html.DropDownListFor(m => m.TimesPerDay, Model.ExerciseLevelSelectList, ...)
Использование select
помощника по тегам :
<select asp-for="TimesPerDay" asp-items="Model.ExerciseLevelSelectList"></select>
Обратите внимание, что свойство Value
экземпляра SelectListItem
имеет тип string
(отметьте здесь ), поэтому ToString()
является обязательным, если вы хотите передать числовое значение этому свойству.