文章内容
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(); } |
评论列表