无法使用 Razor 在 foreach 中关闭标签 - ASP.NET MVC

Uth*_*imi 3 html asp.net-mvc razor

我有一个div,每个div都有两个divs,如下所示:

<div class="col">
    <div class="item-c color1">..</div>
    <div class="item-c color2">..</div>
</div>
Run Code Online (Sandbox Code Playgroud)

我从数据库中读取数据,我想用一个foreach语句重复这个 div 。

我使用下面的代码,但我得到一个 Runtime Error

<div class="col">
@foreach (var item in Model)
{

    <div class="item-c  @("color" + index.ToString()) ">..</div>
    if (index % 2 == 0)
    {
        <text></div><div class="col"></text>
    }
    index++;
    if (index > 8) { index = 1; }
}
Run Code Online (Sandbox Code Playgroud)

我的结果应该是这样的: 在此处输入图片说明 我收到此错误:

遇到没有匹配开始标签的结束标签“div”

小智 6

你的代码需要

@{ int index = 1; }

<div class="col">
    @foreach(var item in Model.Items)
    {
        <div class="item-c color@(index)">..</div>
        if (index % 2 == 0) // close the div and start a new one
        {
            @:</div><div class="col">
        }
        index++;
        if (index > 8) { index = 1; }
    }
</div>
Run Code Online (Sandbox Code Playgroud)