3 回答

TA貢獻1810條經驗 獲得超5個贊
在第一個代碼片段中,所有站點的所有列都添加到一個列表中。二維正在變成一維。如果沒有循環,它實際上可以寫成
OffReportColumns.Add("Eric Car Stock ");
OffReportColumns.Add("");
OffReportColumns.Add("");
OffReportColumns.Add("Average Cost");
OffReportColumns.Add("");
OffReportColumns.Add("");
OffReportColumns.Add("Average Cost With Labour");
OffReportColumns.Add("In-House Use ");
OffReportColumns.Add("");
OffReportColumns.Add("");
OffReportColumns.Add("Average Cost");
OffReportColumns.Add("");
OffReportColumns.Add("");
OffReportColumns.Add("Average Cost With Labour");
OffReportColumns.Add("Havey Kuhar's Car Stock ");
OffReportColumns.Add("");
OffReportColumns.Add("");
OffReportColumns.Add("Average Cost");
OffReportColumns.Add("");
OffReportColumns.Add("");
OffReportColumns.Add("Average Cost With Labour");
第二個代碼片段表示:“對于每個站點(其中有 3 個),創建一個表行。在每行中,對于每個 OffReportColumns(其中有 21 個),創建一個表列,其中包含來自內部循環的文本。
這就是為什么來自所有站點的所有列都出現在 3 行的每一行上的原因。
OffReportColumns更好的方法是根本沒有該列表。相反,視圖可以這樣寫
@foreach (Site s in sites)
{
<tr>
<td>@s.Name</td>
<td></td>
<td></td>
<td>Average Cost</td>
<td></td>
<td></td>
<td>Average Cost With Labour</td>
</tr>
}
這將為每個站點創建一行 7 列。每行的第一列將是站點的名稱。

TA貢獻1890條經驗 獲得超9個贊
正如您在評論中所述,有兩列是靜態數據,唯一的動態數據是網站可以簡單地循環拋出網站并顯示它們,如下所示
@foreach (Site s in sites)
{
<tr style="color:black">
<td>@Site</td>
<td>Average Cost</td>
<td>Average Cost with Labour</td>
</tr>
}
您還可以刪除添加列到控制器中的列表和視圖包,因為它們不是必需的。

TA貢獻1998條經驗 獲得超6個贊
我給你一個簡單的例子,這樣你就可以實現它,在全窗口中打開它以正確查看它
正如您在評論中所述,有兩列是靜態數據,唯一的動態數據是網站可以簡單地循環拋出網站并顯示它們,如下所示
? ? @foreach (Site s in sites)
? ? {
? ? ? ? <tr style="color:black">
? ? ? ? <td>@Site</td>
? ? ? ? <td>Average Cost</td>
? ? ? ? <td>Average Cost with Labour</td>
? ? ? ? </tr>
? ? }
您還可以刪除添加列到控制器中的列表和視圖包,因為它們不是必需的。
- 3 回答
- 0 關注
- 126 瀏覽
添加回答
舉報