ASP.NET MVC - 如何在视图中计算总​​和和计数的总值

时间:2017-10-12 10:43:29

标签: asp.net asp.net-mvc count sum

我是ASP.NET MVC的新手。我的数据库中有2个表名为" tbl_Project"和" tbl_Note"。每个项目都可以有一个或多个笔记,因此我保留/保存" ProjectID" " tbl_Note"。

中的变量

我想做什么:在项目列表所在的页面上,我想显示每个项目的注释总数。我尝试了一些事情,但我已经失败了。

这是我的项目列表页面:

@if(Model.Any())
{
    <table class="table table-striped table-hover table-bordered" id="sample_editable_1">
        <thead>
            <tr>
                <th>Total Note</th>
                <th>Project Name</th>
                <th>Contract Start Date</th>
                <th>Contract End Date</th>
            </tr>
        </thead>
        @foreach (var item in Model)
        {
            <tbody>
                <tr>
                    <td>
                        <!-- Total number of notes will come here -->
                    </td>
                    <td>
                        <p><a href="@Url.Action("Detail", "Project", new { ID = item.ID })" data-tooltip="@(item.Information != null? item.Information:"")">@item.ProjectName</a></p>
                    </td>
                    <td>
                       @item.ContractStartDate.Value.ToString("dd.MM.yyyy");
                    </td>
                    <td>
                        @item.ContractEndDate.Value.ToString("dd.MM.yyyy");
                    </td>
                </tr>
            </tbody>
        }
    </table>
}
else
{
    <p>Project is not available!</p>
}

我尝试过这样的事情,但它不起作用:

@if(item.tbl_Note != null)
{
    if(item.tbl_Note.ProjectID == Model.ProjectID) 
    {
        @Model.Sum(b => b.tbl_Note.ProjectID.Count)
    }
}

这一行给出了一个错误:item.tbl_Note.ProjectID,错误是:&#39; ICollection&#39;不包含&#39; ProjectID的定义,也没有扩展方法&#39; ProjectID&#39;接受类型&#39; ICollection&#39;的第一个参数。可以找到。

如何计算笔记总数?如果您要插入任何其他代码块,请告诉我。

1 个答案:

答案 0 :(得分:0)

根据错误,item.tbl_Note属于ICollection<T>,您正在寻找ProjectID属性。

将其更改为:

@if(item.tbl_Note != null)
{
    @item.tbl_Note.Count
}