Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何写入嵌套分组数据C的类型#_C#_Asp.net Mvc - Fatal编程技术网

C# 如何写入嵌套分组数据C的类型#

C# 如何写入嵌套分组数据C的类型#,c#,asp.net-mvc,C#,Asp.net Mvc,我对数据进行了分组,并希望将此数据与模型一起发送到视图。如何将属性写入viewmodel 工作计划类 public class WorkPlan:IEntity { public int WorkPlanId { get; set; } public int PlanNumber { get; set; } public string Day { get; set; } public string Lesson { get; set; } public s

我对数据进行了分组,并希望将此数据与模型一起发送到视图。如何将属性写入viewmodel

工作计划类

public class WorkPlan:IEntity
{
    public int WorkPlanId { get; set; }
    public int PlanNumber { get; set; }
    public string Day { get; set; }
    public string Lesson { get; set; }
    public string Description { get; set; }
    public bool IsActive { get; set; }
}
public class GroupPlan
{
    public int PlanNumber { get; set; }
    public List<IGrouping<string, WorkPlan>> Day { get; set; }
}
工作视图模型

public class WorkPlanViewModel:BaseViewModel
{

    public List<WorkPlan> WorkPlans { get; set; }

    public WorkPlan WorkPlan { get; set; }

}

groupPlan是我的分组数据

您可以创建一个反映该匿名类型的类,并将其作为属性添加到视图模型中

控制器/操作代码-注意选择中下面的新组计划代码

var vm = new MyViewModel();
vm.GroupPlans = allWorkPlan.GroupBy(p => p.PlanNumber)
                    .Select(p => new GroupPlan { PlanNumber = p.Key, Day = p.GroupBy(b => b.Day).ToList() }).ToList();
组计划类

public class WorkPlan:IEntity
{
    public int WorkPlanId { get; set; }
    public int PlanNumber { get; set; }
    public string Day { get; set; }
    public string Lesson { get; set; }
    public string Description { get; set; }
    public bool IsActive { get; set; }
}
public class GroupPlan
{
    public int PlanNumber { get; set; }
    public List<IGrouping<string, WorkPlan>> Day { get; set; }
}
公共类组计划
{
公共整数平面号{get;set;}
公共列表日{get;set;}
}
ViewModel类

public class MyViewModel
{
    public List<GroupPlan> GroupPlans { get; set; } 
}
公共类MyViewModel
{
公共列表组计划{get;set;}
}

您可以创建一个反映该匿名类型的类,并将其作为属性添加到视图模型中

控制器/操作代码-注意选择中下面的新组计划代码

var vm = new MyViewModel();
vm.GroupPlans = allWorkPlan.GroupBy(p => p.PlanNumber)
                    .Select(p => new GroupPlan { PlanNumber = p.Key, Day = p.GroupBy(b => b.Day).ToList() }).ToList();
组计划类

public class WorkPlan:IEntity
{
    public int WorkPlanId { get; set; }
    public int PlanNumber { get; set; }
    public string Day { get; set; }
    public string Lesson { get; set; }
    public string Description { get; set; }
    public bool IsActive { get; set; }
}
public class GroupPlan
{
    public int PlanNumber { get; set; }
    public List<IGrouping<string, WorkPlan>> Day { get; set; }
}
公共类组计划
{
公共整数平面号{get;set;}
公共列表日{get;set;}
}
ViewModel类

public class MyViewModel
{
    public List<GroupPlan> GroupPlans { get; set; } 
}
公共类MyViewModel
{
公共列表组计划{get;set;}
}

首先,感谢您的回复。当我按照你说的方式做的时候,我就犯了这个错误。严重性代码描述项目文件行抑制状态错误CS0029无法将类型“System.Collections.Generic.List”隐式转换为“System.Collections.Generic.List”WeekPlan.MvcWebUI E:\Program Denemelerim\WeekPlan\WeekPlan.MvcWebUI\Controllers\WorkController.cs 59”,因为您没有为其提供代码
工作计划
所有工作计划
我无法测试我的代码。我不得不做一些猜测。请使用该代码更新您的问题,我将更新我的答案。此外,根据您可能是问题一部分的错误消息,请不要跳过我答案中的
新GroupPlan
代码。首先,感谢您的回答。当我按照你说的方式做的时候,我就犯了这个错误。严重性代码描述项目文件行抑制状态错误CS0029无法将类型“System.Collections.Generic.List”隐式转换为“System.Collections.Generic.List”WeekPlan.MvcWebUI E:\Program Denemelerim\WeekPlan\WeekPlan.MvcWebUI\Controllers\WorkController.cs 59”,因为您没有为其提供代码
工作计划
所有工作计划
我无法测试我的代码。我不得不做一些猜测。请使用该代码更新您的问题,我将更新我的答案。此外,根据您可能是问题的一部分的错误消息,请不要跳过我答案中的
new GroupPlan
代码?谢谢您提供的附加代码。我测试了我的代码,它似乎工作。注意:ViewModel上需要有一个属性,它是
列表
而不是
列表
。别忘了投票并接受我的答案。谢谢你接受我的答案,你也能投票吗?代表额外的分数来自于额外代码的Handythank。我测试了我的代码,它似乎工作。注意:ViewModel上需要有一个属性,它是
列表
而不是
列表
。别忘了投票并接受我的答案。谢谢你接受我的答案,你也能投票吗?销售代表的额外积分会派上用场