您好,我有一个包含5个站点的“站点”表。现在,它在数组中循环,但是model.offReport
节继续被列表中的以下站点覆盖。为避免这种情况,在循环结束时,我希望它将新数据添加到数组中,以便当我返回它时,它将返回所有站点的数据,而不仅仅是数组中的最后一个站点。目前,我有一个类似这样的控制器方法
foreach (Site s in sites)
{
foreach (OffSiteItemDetails d in s.ItemDetails)
{
model.OffReportColumns = new List<string>()
{
s.Name,
"",
"",
"Average Cost",
"",
"",
"Average Cost (With labour)"
};
model.OffReportRows = new List<List<string>>()
{
new List<string>()
{
"Parts",
"",
"",
osiPartCost[s.ID].ToString("C2"),
"",
"",
osiPartCost[s.ID].ToString("C2")
},
new List<string>()
{
"",
"600000 series",
osiOpc6[s.ID].ToString("C2"),
"",
"600000 series",
osiOpc6[s.ID].ToString("C2"),
""
},
new List<string>()
{
"",
"700000 series",
osiOpc7[s.ID].ToString("C2"),
"",
"700000 series",
osiOpc7[s.ID].ToString("C2"),
""
},
new List<string>()
{
"",
"800000 series",
osiOpc8[s.ID].ToString("C2"),
"",
"800000 series",
osiOpc8[s.ID].ToString("C2"),
""
},
new List<string>()
{
"Tools",
"",
"",
osiTools[s.ID].ToString("C2"),
"",
"",
osiTools[s.ID].ToString("C2"),
},
new List<string>()
{
"",
"900000 series",
osiOpc9[s.ID].ToString("C2"),
"",
"900000 series",
osiOpc9[s.ID].ToString("C2"),
""
},
new List<string>()
{
"",
"Other",
osiOpco[s.ID].ToString("C2"),
"",
"Other",
osiOpco[s.ID].ToString("C2"),
""
},
new List<string>()
{
"Components",
"",
"",
osiCompCost[s.ID].ToString("C2"),
"",
"",
osiLoCompCost[s.ID].ToString("C2")
},
new List<string>()
{
"Items",
"",
"",
osiItemCost[s.ID].ToString("C2"),
"",
"",
osiLoItemCost[s.ID].ToString("C2")
},
};
model.OffReporTotal = new List<List<string>>()
{
new List<string>()
{
"Total",
"",
"",
osiTotal[s.ID].ToString("C2"),
"",
"",
osiFltotal[s.ID].ToString("C2")
},
};
}
}
关于如何执行此操作的任何建议?
只需设置一个类似于ViewBag.YourVariable的变量,然后在您的视图中访问它,如:
@foreach(OffReportColumns column in ViewBag.YourVariable) { ... }