2016-06-25 6 views
0

クエリが機能していますが、テーブルを呼び出すと正しく動作しますが、ディスプレイは2番目のforeachループを過度に表示しています。私はこれを修正するためにforループを使用しようとしましたが、うまくいきません。誰でも列を何度も表示せずに2番目の表を使用する方法について提案はありますか?ありがとう!あなたは、ネストされたループを持っている何度もデータを印刷する際にクエリエラーが発生するMVC

 @foreach (ModelA modela in Model.ModelA) 
     { 
       DateTime CurrTime = DateTime.Now; 
        if (modela.LastUpdate >= DateTime.Now.AddDays(-10)) 
      { 
      <tr> 
       <td>@modela.Keys</td> 
       <td>@modela.IDs</td> 

       <td> 

        @foreach (ModelB modelb in Model.ModelB) { 

          if (modela.IDs != null) 
          { 
          @modelb.DisplayName 
          }  
        } 
       </td> 
      </tr> 

      } 
      } 

    </table> 
</font> 

答えて

0

:ビュー

foreach (ModelA modela in Model.ModelA) { 
    // print something 
    foreach (ModelB modelb in Model.ModelB) { 
     // print something 
    } 
} 

のでModel.ModelBでコレクションを繰り返しModel.ModelAでコレクション内の各要素について、その全体が、印刷されようとしています。一度だけ印刷したい場合は、一度ループしてください:

foreach (ModelA modela in Model.ModelA) { 
    // print something 
} 
foreach (ModelB modelb in Model.ModelB) { 
    // print something 
} 
+0

これを使用すると、列はお互いにではなく相互に表示されます。 – Bee

+0

@Bee:HTMLマークアップ/スタイリングを変更するか、最初に値を出力するために使用するロジックを変更する必要があります。あなたが何をしようとしているのか分かりませんが、結果が何回も表示されている理由は、それがネストされたループの処理であるからです。 – David

関連する問題