以编程方式启动div并发出关闭相同div,遇到结束标记" div"没有匹配的开始标记。

时间:2015-12-28 12:25:43

标签: jquery html css asp.net-mvc razor

我想生成以下html

<div id="my-grid" class="isotope">
   <div class="myProject-item">....</div>
   <div class="myProject-item">....</div>
   <div class="myProject-item">....</div>
   <div class="myProject-item">....</div>
</div>

基本上每第4行(我有超过200行)(带有类myProject-item的div)应该包装在<div id="my-grid" class="isotope">

所以我试着跟着

@{
    var counter = 0;
    for (int i = 1; i < 200; i++)
    {
        counter++;
        if (counter % 4 == 0)
        {
          <text><div id="my-grid" class="isotope"></text>
        }
         <div class="myProject-item">....</div>
        if (counter % 4 == 0)
        {
           </div> // ***** on this line render breaks ******    
        }      
    }
}    
  

分析器错误消息:遇到结束标记&#34; div&#34;没有匹配的开始   标签。您的开始/结束标签是否正确平衡?

2 个答案:

答案 0 :(得分:3)

您需要指定结束</div>是内容块。

        if (counter % 4 == 0)
        {
           <text></div> </text>
        } 

也可以使用@:序列,它表示后面的内容行应该被视为内容块。

@{
    var counter = 0;
    for (int i = 1; i < 200; i++)
    {
        counter++;
        if (counter % 4 == 0)
        {
          @:<div id="my-grid" class="isotope">
        }
         <div class="myProject-item">....</div>
        if (counter % 4 == 0)
        {
           @:</div> 
        }      
    }
} 

答案 1 :(得分:2)

您的<div>位于<text></text>内。将它移到外面它应该可以工作。