2017-10-12 98 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

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