我能够从我的数据库中检索值并显示在下拉列表中,但我想让它具有一个选定的值,我的数据库中有 ID 值。
这是我的代码:
AdminViewModel.cs
public IEnumerable<UserType> UserTypes { get; set; }
public int userTypeID { get; set; }
Controller
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:
改为使用 SelectListItem
并将所选项目的 value
设置为 true。
AdminViewModel.cs:
public IEnumerable<SelectListItem> UserTypes { get; set; }
public int userTypeID { get; set; }
Controller :
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" })