无法使用预先选择的值填充dropdonwlist。使用预先选择的值进行填充与viewbag方法一起使用。但是当我使用基于模型的方法尝试相同时,我发现没有运气。
public ActionResult Edit(int?id)
{
Job_ClientVM Vm = new Job_ClientVM();
Vm.Job_Info = Get_jobdetails(id);
//4 is desired pre-selected ID value
Vm.Recruiters = new SelectList(db.Recruiter_Info.ToList(), "Id",
"Recruiter_Name",4);
}
这是我的观点
@Html.DropDownListFor(Model => Model.SelectedRecruiterID, Model.Recruiters, "Assign Recruiter", new { @class = "form-control" })
答案 0 :(得分:1)
在将模型传递给视图之前,需要在GET方法中设置SelectedRecruiterID
的值。
public ActionResult Edit(int?id)
{
Job_ClientVM Vm = new Job_ClientVM();
Vm.Job_Info = Get_jobdetails(id);
Vm.Recruiters = new SelectList(db.Recruiter_Info.ToList(), "Id", "Recruiter_Name");
// Set the value of SelectedRecruiterID
Vm.SelectedRecruiterID = 4;
// Pass the model to the view
return View(Vm);
}
请注意,在SelectList
构造函数中设置Selected属性(第4个参数)是没有意义的 - 绑定到模型属性时会忽略它(在方法内部构建新的IEnumerable<SelectListItem>
并设置{{ 1}}基于属性值的属性。