Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.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/1/asp.net/29.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# asp.net mvc foreach多对多筛选器_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# asp.net mvc foreach多对多筛选器

C# asp.net mvc foreach多对多筛选器,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,查看我的代码: @foreach (var item in Model._games) { <tr> <td> @Html.DisplayFor(modelItem => item.Title) </td> <td> @foreach (var item2 in Model._day

查看我的代码:

@foreach (var item in Model._games)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Title)
            </td>

            <td>
                @foreach (var item2 in Model._days.Where(x => x.Games.Any(u=> u.Id == item.Id)))
                {
                    @item2.CutOffTime;
                }
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Price)
            </td>
            <td>
            </td>
        </tr>
    }
@foreach(模型中的变量项。\u游戏)
{
@DisplayFor(modeleItem=>item.Title)
@foreach(模型中的var item2.\u days.Where(x=>x.Games.Any(u=>u.Id==item.Id)))
{
@项目2.截止时间;
}
@DisplayFor(modelItem=>item.Price)
}
显示second foreach并像我一样过滤它的正确方式是什么?如果我不进行筛选(仅使用
模型。_days
,它会显示所有天数,但当我使用ID为的Where筛选器时,正如您在second foreach中看到的,它不会显示任何内容

谢谢

可能的问题:
1.您正在使用延迟加载,但忘记填充
模型的
.Games
属性。\使用
Include
方法(EF)或
LoadWith
(LINQ 2 SQL)
2.游戏是空的
3.游戏不是空的,但您设置的筛选器不正确
4.您使用不正确的数据填充了
Model.\u games
Model.\u days.games

故障排除:在第二个
foreach
设置断点,查看两个集合中的实际值。

  • 将第二个foreach更改为

     @foreach (var item2 in Model._days)
     {
       if(item2.Games.select(e=>e.Id).Cotains(item.Id)
      {
         @item2.CutOffTime;
      }
     } 
    

在第二个集合中,我没有得到我所说的任何东西。。在第一个集合中,值是正确的。在第二个集合中,如果我不过滤,值是正确的。。这意味着过滤器是错误的。。这就是我问的原因。@JohnMathilda我能猜出u.id和item.id中有什么。如果有匹配的值,内部foreach必须迭代,其他方式不可能。错误为errro
CS1579:foreach语句无法对“bool”类型的变量进行操作,因为“bool”不包含“GetEnumerator”的公共定义。