C# 类在类中的.NET MVC模型
我不知道技术名称,但我会解释的 我有一个名为Project的模型,它有一个名称和描述 每个项目都有多个任务 我有的是这样的东西 模型 控制器C# 类在类中的.NET MVC模型,c#,.net,asp.net-mvc,C#,.net,Asp.net Mvc,我不知道技术名称,但我会解释的 我有一个名为Project的模型,它有一个名称和描述 每个项目都有多个任务 我有的是这样的东西 模型 控制器 public ActionResult Report (int id) { Project Report= new Project(); Report.Taskvm = from o in db.tasks where
public ActionResult Report (int id)
{
Project Report= new Project();
Report.Taskvm = from o in db.tasks
where o.project_id == id
select new Task { name = o.name, description=o.description };
Report.Namevm = "NAME OF PROJECT";
Report.Descriptionvm= "DESCRIPTION OF PROJECT";
return View(Report);
}
如何打印Report.Namevm和Report.Descriptionvm
并迭代所有任务
我试过了,但没用
看法
@foreach(模型中的var项目)
{
@DisplayFor(modelItem=>item.Taskvm.Namevm)
@DisplayFor(modelItem=>item.Taskvm.Descriptionvm)
}
基于您的代码片段
@foreach (var item in Model)
{
@Html.DisplayFor(modelItem => item.Taskvm.Namevm )
@Html.DisplayFor(modelItem => item.Taskvm.Descriptionvm)
<br>
}
怎么了
public class Project
{
public String Namevm { get; set; }
public String Descriptionvm { get; set; }
public IEnumerable<Tasks> Taskvm { get; set; }
}
Report.Taskvm = (from o in db.tasks
where o.project_id == id
select new Task { name = o.name, description=o.description })
.ToList();
@foreach (var item in Model.Taskvm)
{
@Html.DisplayFor(modelItem => item.Namevm )
@Html.DisplayFor(modelItem => item.Descriptionvm)
<br />
}
@foreach(Model.Taskvm中的变量项)
{
@DisplayFor(modelItem=>item.Namevm)
@DisplayFor(modelItem=>item.Descriptionvm)
}
什么是关系?看起来您应该将
报告
传递给视图…抱歉,它的报告(另一种语言)。。我已经更新了问题,所以,如果模型
是报告
,并且您想要迭代报告。Tasksvm
,您可能不想迭代模型
,而是…?嗯,我尝试过Model.Tasksvm,结果显示错误CS1061“IEnumerable”不包含“Project”的定义,并且找不到接受第一个“IEnumerable”类型参数的可访问扩展方法“Project”(是否缺少using指令或程序集引用?),显然,您页面上的@model
是IEnumerable
?如果是这种情况,您需要将传递给视图()
的内容更改为IEnumerable
,而不仅仅是项目
,@foreach(模型中的var项)
很好,但是在Taskvm
上需要另一个foreach
,因此@foreach(item.Taskvm中的var任务)
。感谢您的精彩解释。5颗星!!!我脑子里有了那盏灯。非常感谢。
public class Project
{
public String Namevm { get; set; }
public String Descriptionvm { get; set; }
public IEnumerable<Tasks> Taskvm { get; set; }
}
using System.Collections.Generic;
Report.Taskvm = (from o in db.tasks
where o.project_id == id
select new Task { name = o.name, description=o.description })
.ToList();
@foreach (var item in Model.Taskvm)
{
@Html.DisplayFor(modelItem => item.Namevm )
@Html.DisplayFor(modelItem => item.Descriptionvm)
<br />
}