根据标准在View中进行总结

时间:2016-05-23 17:05:38

标签: asp.net-mvc

我有一个模型并查看类似这样的内容: 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中做一笔钱不是一个好习惯。

1 个答案:

答案 0 :(得分: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>