我有这样的字符串列表
<tr><td>id:1, col: a, val: 1</tr></td>
<tr><td>id:2, col: b, val: 2</tr></td>
<tr><td>id:3, col: c, val: 3;col: d, val: 4;col: e, val: 5</tr></td>
我正在创建一个表
<table class="table table-bordered table-hover">
@foreach (var item in (List<string>)TempData["tableList"])
{
@Html.Raw(item.ToString())
}
</table>
我有三列,id, col, val
有值。
问题在于,在一些列中重复了由';'
分隔的值,并且我想在不同的行中显示这些重复的列。
<tr><td>id:1, col: a, val: 1</tr></td>
<tr><td>id:2, col: b, val: 2</tr></td>
<tr><td>id:3, col: c, val: 3</tr></td>
<tr><td>col: d, val: 4</tr></td>
<tr><td>col: e, val: 5</tr></td>
anoyone可以建议我如何打破列表,就像我想表现一样。
任何建议都将不胜感激。
提前致谢。
答案 0 :(得分:1)
您必须使用var ar = [
[1,1],[1,2],[2,2],[3,3]
];
var hash = {};
for(var i = 0 ; i < ar.length; i += 1) {
hash[ar[i]] = i;
}
var val = [1,2];
if(hash.hasOwnProperty(val)) {
document.write(hash[val]);
}
Replace(";", '"</td></tr><tr><td>")
您可以查看.net Fiddle example
答案 1 :(得分:1)
@foreach (var item in (List<string>)TempData["tableList"])
{
if (item.Contains(";"))
{
foreach (var arrayitem in item.Split(';')) {
@Html.Raw("<tr><td>"+ arrayitem.ToString().Replace("<tr><td>","").Replace("</td></tr>","")+ "</td></tr>")
}
}
else
{
@Html.Raw(item.ToString())
}
}
Try this and check your <td><tr> should be close and open and close accordingly.And at Controller Side use like this: List<string> tableList = new List<string>();
tableList.Add("<tr><td>id:1, col: a, val: 1</td></tr>");
tableList.Add("<tr><td>id:1, col: a, val: 1</td></tr>");
tableList.Add(" <tr><td> id:3, col: c, val: 3; col: d, val: 4; col: e, val: 5 </td></tr>");
TempData["tableList"] = tableList;