我有一个包含十六进制代码的查询,当有十六进制代码时,我想将背景颜色应用到我表格中的先前数据,但是它已经写了
background-color: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>
我想替换&#34; colorcode&#34;通过当前数据和listDonnees是List&lt;列表&lt;字符串&gt; &GT;
我的模特:
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();
}
提前感谢您的帮助
答案 0 :(得分:0)
如你所说
listDonnees是一个List&lt;列表&lt;字符串&gt; &GT;
然后当然,@ViewBag.listDonnees[cpt+1]
将是字符串列表。您应该将颜色代码存储在ViewBag
中,而不是颜色代码列表。
如果您发布从列表中选择颜色的方式,那么我们可以为您提供更具体的答案。