@{ int count = 0;}
@if (Model != null)
{
<table style="width:100%" border="1">
@foreach (var item in Model)
{
@if (count == 0)
{
<tr>
}
<td style="width:25%">
<table>
<tr><td>@Html.DisplayFor(model => item.Item_Title)</td></tr>
<tr><td>@Html.DisplayFor(model => item.Item_Content)</td></tr>
<tr><td>@Html.DisplayFor(model => item.Item_Author)</td></tr>
</table>
</td>
@if (count == 3)
{
</tr>
}
@if (count == 3)
{ count = 0; }
else (count != 3)
{ count++; }
}
</table>
}
正如标题所述,
我试图使用FOREACH动态生成HTML表。
但是出现了问题。
我的逻辑是动态生成4 * N表。
但是该程序将红框上的代码识别为文本。
使红色框中的程序无法正常工作。
我该如何解决?
他发现没有尽头
使以下内容成为文字
最终跳出不存在}
答案 0 :(得分:0)
好的,当我将If条件的输出放到Html.Raw时,这似乎可以编译:
@{ int count = 0;}
@if (Model != null)
{
<table style="width:100%" border="1">
@foreach (var item in Model)
{
if (count == 0)
{
@Html.Raw("<tr>")
}
<td style="width:25%">
<table>
<tr><td>@Html.DisplayFor(model => item.Item_Title)</td></tr>
<tr><td>@Html.DisplayFor(model => item.Item_Content)</td></tr>
<tr><td>@Html.DisplayFor(model => item.Item_Author)</td></tr>
</table>
</td>
if (count == 3)
{
@Html.Raw("</tr>")
}
if (count == 3)
{ count = 0; }
else if (count != 3)
{ count++; }
}
</table>}
答案 1 :(得分:0)
谢谢大家解决问题。
修改后的程序如下
@ {int count = 0;}
@if(Model != null)
{
<table style="width:100%" border="1">
@foreach (var item in Model)
{
if(count == 0)
{
@:<tr>
}
<td style="width:25%">
<table>
<tr><td>@Html.DisplayFor(model => item.Item_Title)</td></tr>
<tr><td>@Html.DisplayFor(model => item.Item_Content)</td></tr>
<tr><td>@Html.DisplayFor(model => item.Item_Author)</td></tr>
</table>
</td>
if(count == 3)
{
@:</tr>
}
if(count == 3)
{ count = 0; }
else
{ count++; }
}
</table>
}
</td>