MVC - 在 ViewModel 中设置 SelectList 的选定值

MVC - Set selected value of SelectList inside ViewModel

在没有选择值的情况下实例化 SelectList 后,如何设置它的选择值 属性。

控制器

var _walkInnVM = new WalkInnVM
{        
    ProspectHandledEmpList = new SelectList(_db.Employees
        .AsEnumerable()
        .Where(e => e.Id == Int32.Parse(Session["LoggedUserId"].ToString()))
        .ToList(), "Id", "Name")       
};

HTML

@Html.DropDownListFor(m => m.ProspectHandledEmpID,
    Model.ProspectHandledEmpList, "", 
    new { @class = "form-control select2 ", @id = "ddlProspectHandled" })

您需要在模型中设置 ProspectHandledEmpID 的值,然后再将其传递给视图

var _walkInnVM = new WalkInnVM
{
    ProspectHandledEmpID = someValue, // add this
    ProspectHandledEmpList = new SelectList(_db.Employees.AsEnumerable()
      .Where(e => e.Id == Int32.Parse(Session["LoggedUserId"].ToString())), "Id", "Name")       
};

如果 db.Employees 包含 Id 值从 1 到 10 的项目,并且您设置值 ProspectHandledEmpID = 3,则在首次生成视图时将选择第三个选项。