我可以从我的数据库中检索值并显示在下拉列表中,但我想让它具有一个选定的值,我的数据库上有ID值。
这是我的代码:
AdminViewModel.cs
public IEnumerable<UserType> UserTypes { get; set; }
public int userTypeID { get; set; }
控制器
var userType = _context.UserTypes.ToList();
var viewModel = new AdminViewModel()
{
UserTypes = userType
};
return View(viewModel);
查看
@Html.DropDownListFor(m => m.userTypeID, new SelectList(Model.UserTypes, "userTypeID", "userTypeName", Model.userTypeID), new { @class = "form-control" })
选择的值应该是基于数据库值的Caregiver:
答案 0 :(得分:2)
使用SelectListItem
代替并为所选项目设置value
为真。
AdminViewModel.cs:
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" })