Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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#_Asp.net Mvc_Linq - Fatal编程技术网

C# 林克按年分组

C# 林克按年分组,c#,asp.net-mvc,linq,C#,Asp.net Mvc,Linq,我试图显示一个按年份分组的元素列表这就是我在控制器中所做的: public ActionResult YearNewsList() { var YearsList = db.tble_news.GroupBy(x => x.content_show_date.Value.Year) .Distinct(); return PartialView(YearsList); } 这就是我对视图所做的 @model IEn

我试图显示一个按年份分组的元素列表

这就是我在控制器中所做的:

public ActionResult YearNewsList()
{
   var YearsList = db.tble_news.GroupBy(x => x.content_show_date.Value.Year)
                               .Distinct();
   return PartialView(YearsList);
}
这就是我对视图所做的

@model IEnumerable<invensys.Models.tble_news>     

@foreach (var item in Model) {        
   @Html.DisplayFor(modelItem => item.content_show_date.Value.Year)              
}
@model IEnumerable
@foreach(模型中的变量项){
@DisplayFor(modelItem=>item.content\u show\u date.Value.Year)
}
但当我尝试运行此程序时,总是会得到以下结果:

传递到字典中的模型项的类型为 “System.Data.Entity.Infrastructure.DbQuery
1[System.Linq.iGroup
2[System.Int32,invensys.Models.tble_news]”, 但此词典需要类型为的模型项 'System.Collections.Generic.IEnumerable'1[invensys.Models.tble_news]'


GroupBy
返回您试图使其成为
IEnumerable
对象的
IEnumerable

在您的情况下,应该定义视图的模型

@model IEnumerable<invensys.Models.tble_news>     

@foreach (var item in Model) {        
   @Html.DisplayFor(modelItem => item.content_show_date.Value.Year)              
}
@model IEnumerable

如果您的
x.content\u show\u date.Value.Year
类型为int

然后,您可以按如下方式显示信息:

        @foreach (var groupItem in model)
        {
            @Html.DisplayFor(groupItem.Key)
            //some code to display groupitems by loop groupItem
        }
.Distinct()将返回disctint分组(所有分组)。 如果您想用任何invensys.Models.tble_news而不是.Distinct()表示年份,请使用


什么类型的“var年表”?谢谢大家,但是Jarvan你的方法成功了非常感谢Hesh