2017-10-12 97 views
0

我是新的ASP.NET MVC。我的数据库中有两个名为“tbl_Project”和“tbl_Note”的表格。每个项目可以有一个或多个笔记,所以我保留/保存“tbl_Note”中的“ProjectID”变量。ASP.NET MVC - 我如何计算在总和和计数的总值视图

我想做什么:在项目列表所在的页面上,我想显示每个项目的笔记总数。我尝试了几件事但我失败了。

这是我的项目列表页:

@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和错误是:'ICollection'不包含'ProjectID'的定义,也没有'ProjectID'接受'ICollection'类型的第一个参数。

如何计算音符总数?如果还有其他代码块需要插入,请告诉我。

+0

您好,您可以尝试@ item.tbl_Note.count(); –

+0

这应该解决你的问题,如果你有外键,但我的建议有空检查也一次。 –

+0

谢谢先生。它正在工作。 –

回答

0

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

将其更改为:

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

谢谢先生。它正在工作。 –