ASP.NET MVC 组合框值加载

ASP.NET MVC Combo Box Value Load

这是关于组合框值处理问题。现在在创建操作中,我获取值列表并将其分配给临时数据。然后我将这些数据映射到组合框以填充创建视图。然后我将数据提交到数据库并保存。 然后我去编辑视图。它仅显示 Id 值。即使我加载了临时数据,但不是根据值加载。

这是我如何获取数据并分配给临时数据的代码

List<M_Department> DepList= db.Department.Where(x => x.Status == true).ToList();
List<SelectListItem> DepDropdown= DepList.Select(x => new SelectListItem { Text = x.DepName, Value = x.Id.ToString() }).ToList();

TempData["DepList"] = DepDropdown;

这就是我将这些 TemData 调用到视图的方式。

@{
List<SelectListItem> Departments= (List<SelectListItem>)TempData.Peek("DepList");
}

<div class="row">
            <div class="col-md-6 col-sm-6">
                <div class="form-group row">
                   Department
                    <div class="col-sm-8">
                        @Html.DropDownListFor(model => model.Dep_Id, Departments, new { @class = "js-dropdown" })
                        @Html.ValidationMessageFor(model => model.Dep_Id, "", new { @class = "text-danger" })
                    </div>
                </div>
            </div>
        </div>

编辑视图,它显示了值。我想加载数据和 select 该值

这对我有用。

 @Html.DropDownListFor(model => model.Dep_Id, new SelectList(Model.DepList, "Id", "DepName", "Please Select Department"), new {@class = "js-dropdown" })