无法使用预先选择的值设置DropDownlist

时间:2017-05-08 03:46:53

标签: asp.net linq-to-sql asp.net-mvc-5 razorengine

无法使用预先选择的值填充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" })

1 个答案:

答案 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}}基于属性值的属性。