2016-11-05 70 views
2

我充满名单模型的模型,我想用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-0lottery-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> 
     } 
    } 

上面会做出一些错误。那么如何编写正确的代码?

回答

2

您需要在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> 
     } 
    } 
} 
+1

你也可以使用''作为多行内容。 – CodeNotFound