如何将列表存储到数组中,然后通过视图袋返回

问题描述 投票:1回答:1

您好,我有一个包含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")
                },
            };

       }

 }

关于如何执行此操作的任何建议?

c# arrays asp.net-mvc viewbag
1个回答
0
投票

只需设置一个类似于ViewBag.YourVariable的变量,然后在您的视图中访问它,如:

@foreach(OffReportColumns column in ViewBag.YourVariable) { ... } 
© www.soinside.com 2019 - 2024. All rights reserved.