文章内容
2017/3/30 12:11:38,作 者: 黄兵
不存在具有键“EquipmentId”的“IEnumerable<SelectListItem>”类型的 ViewData 项
最近在写代码的时候遇到这样一个错误,错误提示如下:
不存在具有键“EquipmentId”的“IEnumerable<SelectListItem>”类型的 ViewData 项。
截图如下:
后台代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | [HttpGet] public ActionResult ProjectDetails() { using(UnitOfWork uow=new UnitOfWork()) { var getAllExpert= uow.ExpertRepository.GetAll().ToList(); IEnumerable<ExpertEquipmentViewModel> Expert = getAllExpert.OrderByDescending(n => n.Id) .Select(x => new ExpertEquipmentViewModel { ExpertId=x.Id, ExpertName=x.Project_ExpertName }).ToList(); ViewData["Expert"] = new SelectList(Expert, "ExpertId", "ExpertName"); ; var getAllEquipment = uow.EquipmentRepository.GetAll().ToList(); IEnumerable<ExpertEquipmentViewModel> Equipment=getAllEquipment.OrderByDescending(c=>c.Id) .Select(c=>new ExpertEquipmentViewModel { EquipmentId=c.Id, EquipmentName=c.Project_EquipmentName }).ToList(); ViewData["Equipemnt"] = getAllEquipment; } return View(); } |
前台代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <div class="hr-line-dashed"></div> <div class="form-group"> @Html.LabelFor(model => model.ExpertsId, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-sm-10"> @Html.DropDownList("ExpertId", ViewData["Expert"] as SelectList, htmlAttributes: new { @class = "form-control" }) @Html.ValidationMessageFor(model => model.ExpertsId, "", new { @class = "text-danger" }) </div> </div> <div class="hr-line-dashed"></div> <div class="form-group"> @Html.LabelFor(model => model.EquipmentId, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-sm-10"> @Html.DropDownList("EquipmentId", ViewData["Equipemnt"] as SelectList, htmlAttributes: new { @class = "form-control" }) @Html.ValidationMessageFor(model => model.EquipmentId, "", new { @class = "text-danger" }) </div> </div> |
修改后台源代码之后如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | [HttpGet] public ActionResult ProjectDetails() { using(UnitOfWork uow=new UnitOfWork()) { var getAllExpert= uow.ExpertRepository.GetAll().ToList(); IEnumerable<ExpertEquipmentViewModel> Expert = getAllExpert.OrderByDescending(n => n.Id) .Select(x => new ExpertEquipmentViewModel { ExpertId=x.Id, ExpertName=x.Project_ExpertName }).ToList(); ViewData["Expert"] = new SelectList(Expert, "ExpertId", "ExpertName"); var getAllEquipment = uow.EquipmentRepository.GetAll().ToList(); IEnumerable<ExpertEquipmentViewModel> Equipment=getAllEquipment.OrderByDescending(c=>c.Id) .Select(c=>new ExpertEquipmentViewModel { EquipmentId=c.Id, EquipmentName=c.Project_EquipmentName }).ToList(); //注意这里修改 ViewData["Equipemnt"] = new SelectList(Equipment, "EquipmentId", "EquipmentName"); } return View(); } |

评论列表