ASP.NET MVC:剃刀不匹配的结束标记
问题描述:
我充满名单模型的模型,我想用foreach
循环来显示它,但....我的HTML看起来像这样:ASP.NET MVC:剃刀<tr>不匹配的结束标记
<tr>
<td class="lottery-unit lottery-unit-0"><img src="~/images/temp/1.png"></td>
<td class="lottery-unit lottery-unit-1"><img src="~/images/temp/2.png"></td>
<td class="lottery-unit lottery-unit-2"><img src="~/images/temp/4.png"></td>
<td class="lottery-unit lottery-unit-3"><img src="~/images/temp/3.png"></td>
</tr>
<tr>
<td class="lottery-unit lottery-unit-11"><img src="~/images/temp/7.png"></td>
<td colspan="2" rowspan="2">
<a href="#"></a>
</td>
<td class="lottery-unit lottery-unit-4"><img src="~/images/temp/5.png"></td>
</tr>
<tr>
<td class="lottery-unit lottery-unit-10"><img src="~/images/temp/1.png"></td>
<td class="lottery-unit lottery-unit-5"><img src="~/images/temp/6.png"></td>
</tr>
<tr>
<td class="lottery-unit lottery-unit-9"><img src="~/images/temp/3.png"></td>
<td class="lottery-unit lottery-unit-8"><img src="~/images/temp/6.png"></td>
<td class="lottery-unit lottery-unit-7"><img src="~/images/temp/8.png"></td>
<td class="lottery-unit lottery-unit-6"><img src="~/images/temp/7.png"></td>
</tr>
lottery-unit lottery-unit-0
到lottery-unit lottery-unit-11
是十一我要显示,而tr
不固定。 如果我用剃刀将它写这样的:
foreach (var item in Model)
{
if (item.Order >= 0 && item.Order <= 3)
{
if (item.Order == 0)
{
<tr>
}
<td class="lottery-unit lottery-unit-0"><img src="~/images/temp/1.png"></td>
@if(item.Order == 3)
{
</tr>
}
}
上面会做出一些错误。那么如何编写正确的代码?
答
您需要在foreach
前加@
,并在<tr>
和</tr>
的if
语句中前加@:
。你的代码应该是这样的:
@foreach (var item in Model)
{
if (item.Order >= 0 && item.Order <= 3)
{
if (item.Order == 0)
{
@:<tr>
}
<td class="lottery-unit lottery-unit-0"><img src="~/images/temp/1.png"></td>
if (item.Order == 3)
{
@:</tr>
}
}
}
问题描述:
我充满名单模型的模型,我想用foreach
循环来显示它,但....我的HTML看起来像这样:ASP.NET MVC:剃刀<tr>不匹配的结束标记
<tr>
<td class="lottery-unit lottery-unit-0"><img src="~/images/temp/1.png"></td>
<td class="lottery-unit lottery-unit-1"><img src="~/images/temp/2.png"></td>
<td class="lottery-unit lottery-unit-2"><img src="~/images/temp/4.png"></td>
<td class="lottery-unit lottery-unit-3"><img src="~/images/temp/3.png"></td>
</tr>
<tr>
<td class="lottery-unit lottery-unit-11"><img src="~/images/temp/7.png"></td>
<td colspan="2" rowspan="2">
<a href="#"></a>
</td>
<td class="lottery-unit lottery-unit-4"><img src="~/images/temp/5.png"></td>
</tr>
<tr>
<td class="lottery-unit lottery-unit-10"><img src="~/images/temp/1.png"></td>
<td class="lottery-unit lottery-unit-5"><img src="~/images/temp/6.png"></td>
</tr>
<tr>
<td class="lottery-unit lottery-unit-9"><img src="~/images/temp/3.png"></td>
<td class="lottery-unit lottery-unit-8"><img src="~/images/temp/6.png"></td>
<td class="lottery-unit lottery-unit-7"><img src="~/images/temp/8.png"></td>
<td class="lottery-unit lottery-unit-6"><img src="~/images/temp/7.png"></td>
</tr>
lottery-unit lottery-unit-0
到lottery-unit lottery-unit-11
是十一我要显示,而tr
不固定。 如果我用剃刀将它写这样的:
foreach (var item in Model)
{
if (item.Order >= 0 && item.Order <= 3)
{
if (item.Order == 0)
{
<tr>
}
<td class="lottery-unit lottery-unit-0"><img src="~/images/temp/1.png"></td>
@if(item.Order == 3)
{
</tr>
}
}
上面会做出一些错误。那么如何编写正确的代码?
答
您需要在foreach
前加@
,并在<tr>
和</tr>
的if
语句中前加@:
。你的代码应该是这样的:
@foreach (var item in Model)
{
if (item.Order >= 0 && item.Order <= 3)
{
if (item.Order == 0)
{
@:<tr>
}
<td class="lottery-unit lottery-unit-0"><img src="~/images/temp/1.png"></td>
if (item.Order == 3)
{
@:</tr>
}
}
}
你也可以使用''作为多行内容。 –
CodeNotFound