【问题标题】:Error : System.Collections.Generic.List`1[System.String] [duplicate]错误:System.Collections.Generic.List`1[System.String] [重复]
【发布时间】:2016-11-22 09:29:31
【问题描述】:

我有一个包含十六进制代码的查询,当有十六进制代码时,我想对表中的先前数据应用背景色,但它是写的

背景色:System.Collections.Generic.List`1[System.St‌​ring]

到我的源代码中的每一行。

这是我的代码:

<tr>
            @{
                int nbItems = ViewBag.listDonnees.Count;
                var hashCodes = new List<String>() { "#FFFFFF", "#FFD700", "#FF6347" };

                for (int cpt = 0; cpt < nbItems; cpt++)
                {
                    string colorcode = string.Empty;
                    if (cpt + 1 < nbItems)
                    {
                        var mylist = (IEnumerable < dynamic >) ViewBag.listDonnees[cpt];
                        colorcode = mylist.FirstOrDefault(s => hashCodes.Contains(s));
                    }
                    if (colorcode != string.Empty)
                    {
                        <td style="background-color:@ViewBag.listDonnees[cpt+1]">colorcode</td>
                    }
                    else
                    {
                        var str = String.Join(",", ViewBag.listDonnees[cpt]);
                        <td>str</td>
                    }
                    cpt++;
                }
            }
        </tr>

我想用当前数据替换“colorcode”,listDonnees 是一个 List >

我的模特:

dac = new SqlDataAdapter();
            dac.SelectCommand = cmd1;

            dsp = new DataSet();
            dac.Fill(dsp, "donnees");

            List<List<string>> listDonnees = new List<List<string>>();

            foreach (DataRow row in dsp.Tables["donnees"].Rows)
            {
                List<string> l = new List<string>();

                for (int i = 0; i < row.ItemArray.Length; i++)
                {
                    l.Add(row[i].ToString());
                }

                listDonnees.Add(l);
            }
            list.Add("donnees", listDonnees);

我的控制器:

        public ActionResult AfficheRspic002(string Tdate_d, string Ddl_fampic, string Ddl_donnee, string Ddl_detail, string Ddl_caracteristique, string Ddl_poste, string Ddl_ilot, string Ddl_nposte, string Ddl_atelier, string Ddl_tposte)
    {
        Dictionary<string, object> list = model.getPICv2(Tdate_d,Ddl_fampic, Ddl_donnee, Ddl_detail, Ddl_caracteristique, Ddl_poste, Ddl_ilot, Ddl_nposte, Ddl_atelier, Ddl_tposte);

        ViewBag.listEntete = list["entete"];
        ViewBag.listJO = list["jo"];
        ViewBag.listPrevision = list["prevision"];
        ViewBag.listCommandeEt = list["commande"];
        ViewBag.listDonnees = list["donnees"];

        return PartialView();
    }

提前感谢您的帮助

【问题讨论】:

  • 为什么不把所有这些逻辑放在控制器中呢?
  • 你能在控制器中显示你的ViewBag.listDonnees 吗?
  • 因为我认为这是发布的问题。我编辑我的帖子
  • 你的问题是:listDonnees[cpt] 是一个列表,是的,绝对是重复的。
  • @ManfredRadlwimmer 同一用户

标签: c# asp.net asp.net-mvc visual-studio list


【解决方案1】:

如你所说

listDonnees 是一个列表 >

当然,@ViewBag.listDonnees[cpt+1] 将是字符串列表。您应该将颜色代码存储在ViewBag,而不是颜色代码列表中。

如果您发布了如何从列表中选择颜色,那么我们可以给您更具体的答案。

【讨论】:

    猜你喜欢
    • 2019-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-13
    • 2022-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多