0

ビュー内の私のコード:

@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>
    }

2 番目の foreach を表示して、私のようにフィルタリングする適切な方法は何ですか? フィルタリングしないと (のみを使用してModel._days、すべての曜日が表示されますが、2 番目の foreach でわかるように ID で Where フィルターを使用すると、何も表示されません。

ありがとう

4

2 に答える 2

0

考えられる問題: 1. 遅延読み込みを使用しており、ofメソッド (EF) または(LINQ 2 SQL)を使用して のプロパティを設定するの
を忘れている 2. ゲームが空である 3. ゲームは空ではないが、不適切なフィルターを設定している 4 .またはに誤ったデータを入力し ました.GamesModel._daysIncludeLoadWith


Model._gamesModel._days.Games

トラブルシューティング: 2 番目にブレークポイントを設定し、foreach両方のコレクションの実際の値を確認します。

于 2013-11-15T02:14:06.367 に答える
0
  • 2番目の foreach を次のように変更します

     @foreach (var item2 in Model._days)
     {
       if(item2.Games.select(e=>e.Id).Cotains(item.Id)
      {
         @item2.CutOffTime;
      }
     } 
    
于 2013-11-15T03:35:05.613 に答える