文章内容

2017/4/13 10:21:36,作 者: 黄兵

DataBinding 不包含名为“Equipement_Id”的属性

最近在写代码的时候,出现了如下错误:

DataBinding:“System.Data.Entity.DynamicProxies.Equipment_3FA7F5BDF32AFF7396A1D7B9112BD2D52757DC43F55C13F6B4B538C48B1179B3”不包含名为“Equipement_Id”的属性。

代码如下:

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 public ActionResult EditContentSecond(int Id)
        {
            using (UnitOfWork uow = new UnitOfWork())
            {              
 
                var SecondItem = uow.ProjectDetailsRepository.Get(x => x.Project_SecondProId == Id);
 
                var Experts = uow.ExpertRepository.GetAll().ToList();
                var Expert = uow.ExpertRepository.Get(x => x.Id == SecondItem.ExpertsId);
 
                ViewData["Expert"] = new SelectList(Experts, "Expert_Id""Project_ExpertName");
 
                var Equipment = uow.EquipmentRepository.Get(x => x.Id == SecondItem.EquipmentId);
 
                var Equipments=uow.EquipmentRepository.GetAll().ToList();
 
                ViewData["Equipemnt"] = new SelectList(Equipments, "Equipemnt_Id""Project_EquipmentName");
 
                ViewBag.picUrl = SecondItem.Project_ProjectImgUrl;
 
                var ModelItem = new Pro_TextViewModel();
                ModelItem.Id = SecondItem.Project_SecondProId;
                ModelItem.Project_CaseCompasionImgUrl = SecondItem.Project_CaseCompasionImgUrl;
                ModelItem.Project_Summary = SecondItem.Project_Summary;
                ModelItem.Project_TechnologyFeature_1 = SecondItem.Project_TechnologyFeature_1;
                ModelItem.Project_TechnologyFeature_2 = SecondItem.Project_TechnologyFeature_2;
                ModelItem.Project_TechnologyFeature_3 = SecondItem.Project_TechnologyFeature_3;
                ModelItem.Project_TechnologyFeature_4 = SecondItem.Project_TechnologyFeature_4;
                ModelItem.Project_TechnologyFeature_5 = SecondItem.Project_TechnologyFeature_5;
                ModelItem.Project_TechnologyFeature_6 = SecondItem.Project_TechnologyFeature_6;
                ModelItem.Project_ProjectImgUrl = SecondItem.Project_ProjectImgUrl;
                ModelItem.Project_TechAdvantage = SecondItem.Project_TechAdvantage;
                ModelItem.Project_Introduction = SecondItem.Project_Introduction;
                ModelItem.Project_HotQA = SecondItem.Project_HotQA;
                ModelItem.Project_ExpertName = Expert.Project_ExpertName;
                ModelItem.Project_ExpertTitled = Expert.Project_ExpertTitled;
                ModelItem.Project_ExpertDepartment = Expert.Project_ExpertDepartment;
                ModelItem.Project_RecommandExpertImgUrl = Expert.Project_RecommandExpertImgUrl;
                ModelItem.Project_EquipmentImgUrl = Equipment.Project_EquipmentImgUrl;
                ModelItem.Project_EquipmentName = Equipment.Project_EquipmentName;
 
                ModelItem.Expert_Id = SecondItem.ExpertsId;
                ModelItem.Equipment_Id = SecondItem.EquipmentId;
 
                return View(ModelItem);
            }            
        }

最主要的还是这两句:

ViewData["Expert"] = new SelectList(Experts, "Expert_Id""Project_ExpertName");
ViewData["Equipemnt"] = new SelectList(Equipments, "Equipemnt_Id""Project_EquipmentName");

我们看一下模型:

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
namespace _8677333.AppDAL.Entities
{
    public class Expert
    {
        public Expert()
        {
            ProjectDetails = new HashSet<ProjectDetails>();
        }
        public int Id { getset; }
        [DisplayName("推荐专家")]
        public string Project_RecommandExpertImgUrl { getset; }
        [DisplayName("专家名字")]
        public string Project_ExpertName { getset; }
        [DisplayName("专家简介")]
        public string Project_ExpertSummary { getset; }
        [DisplayName("专家部门")]
        public string Project_ExpertDepartment { getset; }
        [DisplayName("专家年龄")]
        public int Project_ExpertAge { getset; }
        [DisplayName("专家职位")]
        public string Project_ExpertTitled { getset; }
 
 
        public virtual ICollection<ProjectDetails> ProjectDetails { getset; }
    }
}

这里是Id,而ViewData["Expert"]是Expert_Id,下面也是一样。

最后修改代码:

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 public ActionResult EditContentSecond(int Id)
        {
            using (UnitOfWork uow = new UnitOfWork())
            {              
 
                var SecondItem = uow.ProjectDetailsRepository.Get(x => x.Project_SecondProId == Id);
 
                var Experts = uow.ExpertRepository.GetAll().ToList();
                var Expert = uow.ExpertRepository.Get(x => x.Id == SecondItem.ExpertsId);
 
                ViewData["Expert"] = new SelectList(Experts, "Id""Project_ExpertName");
 
                var Equipment = uow.EquipmentRepository.Get(x => x.Id == SecondItem.EquipmentId);
 
                var Equipments=uow.EquipmentRepository.GetAll().ToList();
 
                ViewData["Equipemnt"] = new SelectList(Equipments, "Id""Project_EquipmentName");
 
                ViewBag.picUrl = SecondItem.Project_ProjectImgUrl;
 
                var ModelItem = new Pro_TextViewModel();
                ModelItem.Id = SecondItem.Project_SecondProId;
                ModelItem.Project_CaseCompasionImgUrl = SecondItem.Project_CaseCompasionImgUrl;
                ModelItem.Project_Summary = SecondItem.Project_Summary;
                ModelItem.Project_TechnologyFeature_1 = SecondItem.Project_TechnologyFeature_1;
                ModelItem.Project_TechnologyFeature_2 = SecondItem.Project_TechnologyFeature_2;
                ModelItem.Project_TechnologyFeature_3 = SecondItem.Project_TechnologyFeature_3;
                ModelItem.Project_TechnologyFeature_4 = SecondItem.Project_TechnologyFeature_4;
                ModelItem.Project_TechnologyFeature_5 = SecondItem.Project_TechnologyFeature_5;
                ModelItem.Project_TechnologyFeature_6 = SecondItem.Project_TechnologyFeature_6;
                ModelItem.Project_ProjectImgUrl = SecondItem.Project_ProjectImgUrl;
                ModelItem.Project_TechAdvantage = SecondItem.Project_TechAdvantage;
                ModelItem.Project_Introduction = SecondItem.Project_Introduction;
                ModelItem.Project_HotQA = SecondItem.Project_HotQA;
                ModelItem.Project_ExpertName = Expert.Project_ExpertName;
                ModelItem.Project_ExpertTitled = Expert.Project_ExpertTitled;
                ModelItem.Project_ExpertDepartment = Expert.Project_ExpertDepartment;
                ModelItem.Project_RecommandExpertImgUrl = Expert.Project_RecommandExpertImgUrl;
                ModelItem.Project_EquipmentImgUrl = Equipment.Project_EquipmentImgUrl;
                ModelItem.Project_EquipmentName = Equipment.Project_EquipmentName;
 
                ModelItem.Expert_Id = SecondItem.ExpertsId;
                ModelItem.Equipment_Id = SecondItem.EquipmentId;
 
                return View(ModelItem);
            }            
        }
更改代码运行,问题解决。
前端代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<div class="hr-line-dashed"></div>
                    <div class="form-group">
                        @Html.LabelFor(model => model.Project_ExpertName, htmlAttributes: new { @class "control-label col-md-2" })
                        <div class="col-sm-10">
                            @Html.DropDownList("Expert_Id", ViewData["Expert"as SelectList, htmlAttributes: new { @class "form-control" })
                            @Html.ValidationMessageFor(model => model.Id, ""new { @class "text-danger" })
                        </div>
                    </div>
                    <div class="hr-line-dashed"></div>
                    <div class="form-group">
                        @Html.LabelFor(model => model.Project_EquipmentName, htmlAttributes: new { @class "control-label col-md-2" })
                        <div class="col-sm-10">
                            @Html.DropDownList("Equipement_Id", ViewData["Equipemnt"as SelectList, htmlAttributes: new { @class "form-control" })
                            @Html.ValidationMessageFor(model => model.Project_EquipmentName, ""new { @class "text-danger" })
                        </div>
                    </div>
                    <div class="hr-line-dashed"></div>
前端如何绑定并没有受到什么影响。
分享到:

发表评论

评论列表