C# 如何写入嵌套分组数据C的类型#
我对数据进行了分组,并希望将此数据与模型一起发送到视图。如何将属性写入viewmodel 工作计划类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
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上需要有一个属性,它是列表
而不是列表
。别忘了投票并接受我的答案。谢谢你接受我的答案,你也能投票吗?销售代表的额外积分会派上用场