C# 无法获取DropDownListFor(MVC5)的选定值
我可以从我的数据库中检索值并显示在dropdownlist中,但我想使其具有一个选定的值,从而使我的数据库具有ID值 这是我的密码: AdminViewModel.csC# 无法获取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.
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" })