选择List返回System.Data.Entity.DynamixProxies而不是MVC asp.n
发布时间:2020-12-16 09:24:43 所属栏目:asp.Net 来源:网络整理
导读:我有两张不同的桌子.用户和项目详细信息.还有两个不同的控制器可以对这些表进行CRUD操作.现在,我有一个案例,在User CREATE操作中,我必须从ProjectDetails中的项目列表中选择项目.我尝试了以下方法: 在用户模型中,我创建了这一行: public IEnumerableProjec
我有两张不同的桌子.用户和项目详细信息.还有两个不同的控制器可以对这些表进行CRUD操作.现在,我有一个案例,在User CREATE操作中,我必须从ProjectDetails中的项目列表中选择项目.我尝试了以下方法:
在用户模型中,我创建了这一行: public IEnumerable<ProjectDetail> ProjectDetail { get; set; } 在控制器中,在create Action中,我添加了以下代码: public ActionResult Create() { var model = new UserDetail { ProjectDetail = db1.ProjectDetails }; return View(model); } 在创建视图中,我试图获取项目ID列表,如下所示: @Html.DropDownListFor( x => x.ProjectDetail,new SelectList(Model.ProjectDetail,"Project ID")) 但是,我运行,我得到的行数(等于项目数) System.Data.Entity.DynamicProxies.ProjectDetails_F ###########(有些数字).. 请有人帮帮我吗? 问候, [编辑] – 我检查了调试模式,发现以下..尝试附加图像.. 我钻了那个Proxy的东西,在那里找到了ProjectID.我怎么能得到它? 解决方法
您正在使用错误的重载,请改用:
@Html.DropDownListFor( x => x.ProjectDetail,"ProjectId","ProjectName")) // where ProjectId is the unique identifier field of `ProjectDetail` // and `ProjectName` is the text you want to show in the dropdown 在您的代码中,您没有告诉html帮助器使用哪些属性来为datavalue和datatext.您使用的重载是告诉htmlhelper选择哪个值的重载. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 对于在Azure部署的Web.config中存储密码的正确程
- asp.net – 如何找到哪个控制器/操作发生错误?
- asp.net – 从ASP Classic迁移到.NET并减轻疼痛
- asp.net-mvc – ASP.NET MVC:如何从Html.ActionLink链接中
- asp.net – 保护.net Web服务URL
- asp.net-mvc-3 – 模型验证/ ASP.NET MVC 3 – 条件必需属性
- 如何在ASP.NET中隐藏页面名称和查询字符串?
- 本地化 – 无法在ASP.Net Core应用程序中设置默认和仅文化
- asp.net – Kendo TabStrip:将动作渲染到MVC 4中的选项卡
- asp.net – Windows Workflow Foundation的替代方案