C# 无法获取DropDownListFor(MVC5)的选定值

C# 无法获取DropDownListFor(MVC5)的选定值,c#,asp.net-mvc-5,dropdownlistfor,C#,Asp.net Mvc 5,Dropdownlistfor,我可以从我的数据库中检索值并显示在dropdownlist中,但我想使其具有一个选定的值,从而使我的数据库具有ID值 这是我的密码: AdminViewModel.cs public IEnumerable<UserType> UserTypes { get; set; } public int userTypeID { get; set; } 看法 所选值应为基于数据库值的医务人员: 改用SelectListItem,并将所选项目的值设置为true AdminViewModel.

我可以从我的数据库中检索值并显示在dropdownlist中,但我想使其具有一个选定的值,从而使我的数据库具有ID值

这是我的密码:

AdminViewModel.cs

public IEnumerable<UserType> UserTypes { get; set; }
public int userTypeID { get; set; }
看法

所选值应为基于数据库值的医务人员:


改用
SelectListItem
,并将所选项目的
值设置为true

AdminViewModel.cs:

public IEnumerable<SelectListItem> UserTypes { get; set; }
public int userTypeID { get; set; }
视图:


错。这与OP已经在做的事情完全相同(内部就是
SelectList
构造函数所做的事情)。绑定到属性时,所选的
项目将被忽略。然后请解释正确的方法。@steph mueckeRead副本:)您好,我已经尝试了此代码,它仍然显示与我第一篇文章截图相同的内容。
@Html.DropDownListFor(m => m.userTypeID, new SelectList(Model.UserTypes, "userTypeID", "userTypeName", Model.userTypeID), new { @class = "form-control" })
public IEnumerable<SelectListItem> UserTypes { get; set; }
public int userTypeID { get; set; }
var viewModel = new AdminViewModel();
SelectListItem item;
var userType = _context.UserTypes.ToList();
foreach(var uType in userType)
  {
   item = new SelectListItem();
   item.Text = userType.userTypeName;
   item.Value = userType.userTypeID;
   if (item.Text == "Caregiver") // or any logic
     {
       item.Selected = true;
     }
     viewModel.UserTypes.Add(item);
   }

 return View(viewModel);
@Html.DropDownListFor(m => m.userTypeID, Model.UserTypes , "Select", new { @class = "form-control" })