首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >类内.NET MVC模型

类内.NET MVC模型
EN

Stack Overflow用户
提问于 2020-09-28 18:44:21
回答 2查看 58关注 0票数 1

我不知道技术名称但我会解释的。

我有一个名为Project的模型,它有一个名字,描述。

每个项目都有多个任务。

我拥有的是这样的东西

模型

代码语言:javascript
运行
复制
 public class Project
    {
        public String Namevm { get; set; }
        public String Descriptionvm { get; set; }

        public Tasks Taskvm { get; set; }

    }

 public class Task
    {
        public String Namevm { get; set; }
        public String Descriptionvm { get; set; }

    }

控制器

代码语言:javascript
运行
复制
        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

迭代所有任务?

我试过了,但不起作用

视图

代码语言:javascript
运行
复制
        @foreach (var item in Model) 
          {
           @Html.DisplayFor(modelItem => item.Taskvm.Namevm ) 
           @Html.DisplayFor(modelItem => item.Taskvm.Descriptionvm) 
           <br>                                
        }
EN

Stack Overflow用户

回答已采纳

发布于 2020-09-29 11:02:26

怎么啦?

  1. 您的Taskvm属性不能迭代(您不能循环遍历它)。
  2. 查询字符串不是得到一个列表,而是一个单独的对象。
  3. 在视图中没有遍历正确的属性。

要解决所有这些问题:

  1. 更新您的项目模型, Taskvm属性

公共类项目{公共字符串Namevm { get;set;}公共字符串Descriptionvm { get;set;}公共IEnumerable Taskvm { get;set;}

IEnumerable<>将需要下面的命名空间

代码语言:javascript
运行
复制
using System.Collections.Generic;

在控制器中的

  1. 中,将查询更改为--注意ToList()

Report.Taskvm =(来自db.tasks中的o,o.project_id == id选择新任务{ name = o.name,description=o.description }) .ToList();

在您的视图中,

  1. 需要迭代Taskvm (Model.Taskvm)属性,而不是整个模型。用这个:

@foreach (var item in Model.Taskvm) { @Html.DisplayFor(modelItem => item.Namevm ) @Html.DisplayFor(modelItem => item.Descriptionvm) }

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64107880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档