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" })
这是关于组合框值处理问题。现在在创建操作中,我获取值列表并将其分配给临时数据。然后我将这些数据映射到组合框以填充创建视图。然后我将数据提交到数据库并保存。 然后我去编辑视图。它仅显示 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" })