2016-05-23 7 views
0

私はこのようなモデルとビュー何か持っている: Model and View基準に基づいてビューに合計を行い

私は州または連邦のいずれかに基づいて合計/合計を表示するには(画像では緑色のボックスを参照してください) 。

ここまでは私の見解です。

@if (Model.Any()) 
{ 
<table> 
     <tr> 
      <th> 
      </th> 
      <th> 
       STATE 
      </th> 
      <th> 
       FEDERAL 
      </th> 
     </tr> 
     <tr> 
      <th width="180"> 
       Project 
      </th> 
      <th width="120"> 
       Sponsor 
      </th> 
      <th width="120"> 
       Sponsor 
      </th> 
     </tr> 
      @foreach (var item in Model) 
     { 
      <tr> 
       <td> 
        @Html.DisplayFor(m => item.Project) 
       </td> 

       @if (item.Provider == "State") 
       { 
        <td> 
         @Html.DisplayFor(m => item.Sponsor) 
        </td> 
        <td> 

        </td> 
       } 
       else 
       { 
        <td> 

        </td> 
        <td> 
         @Html.DisplayFor(m => item.Sponsor) 
        </td> 
       } 
      </tr> 
     } 
    </table> 
} 

(緑色のボックスに)値を表示するにはどうすればよいですか?私はViewで合計をすることは良い方法ではないことを知っています。

答えて

0

これでlinqを使用できます。

@foreach (var item in Model) 
{ 
    <tr> 
     <td> 
      @Html.DisplayFor(m => item.Project) 
     </td> 

     @if (item.Provider == "State") 
     { 
      <td> 
       @Html.DisplayFor(m => item.Sponsor) 
      </td> 
      <td> 

      </td> 
     } 
     else 
     { 
      <td> 

      </td> 
      <td> 
       @Html.DisplayFor(m => item.Sponsor) 
      </td> 
     } 
    </tr> 
} 
<tr> 
    <td></td> 
    <td>@Model.Where(x => x.Provider == "State").Sum(x => x.Sponsor)</td> 
    <td>@Model.Where(x => x.Provider != "State").Sum(x => x.Sponsor)</td> 
</tr> 
関連する問題