【发布时间】:2016-11-22 09:29:31
【问题描述】:
我有一个包含十六进制代码的查询,当有十六进制代码时,我想对表中的先前数据应用背景色,但它是写的
背景色:System.Collections.Generic.List`1[System.String]
到我的源代码中的每一行。
这是我的代码:
<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