0

当你看到代码时,它会更清晰 -

@{
    <ul>
        @foreach (SDNCMS.Models.CountryModel curCountry in Model)
        {
            <li><a href="#" id="@curCountry.Name">@curCountry.Name</a></li>
                if (curCountry.ID % 9 == 0)
                {
                    </ul>
                    <ul> 
                }
            }
    </ul>
}

我收到此错误:

代码块缺少结束“}”字符。确保此块中的所有“{”字符都有一个匹配的“}”字符,并且没有一个“}”字符被解释为标记。

我试过了Html.Raw()

我怎样才能让它工作?

4

6 回答 6

2

使用@:运算符将​​纯文本输出到页面:

@{
    <ul>
        @foreach (SDNCMS.Models.CountryModel curCountry in Model)
        {
            <li><a href="#" id="@curCountry.Name">@curCountry.Name</a></li>
                if (curCountry.ID % 9 == 0)
                {
                    @:</ul><ul> 
                }
            }
    </ul>
}
于 2013-08-19T13:33:54.133 回答
0

你可以简单地使用这个:

<ul>
    @foreach (SDNCMS.Models.CountryModel curCountry in Model)
    {
        <li><a href="#" id="@curCountry.Name">@curCountry.Name</a></li>
        if (curCountry.ID % 9 == 0)
        {
            @Html.Raw("</ul><ul>") 
        }
    }
</ul>
于 2013-08-20T06:38:07.960 回答
0

将此更改@foreach为:@{foreach并关闭此块}

于 2013-08-19T06:40:28.783 回答
0

如果你改变

</ul>
<ul> 

部分是:

@Html.Raw("</ul><ul>")

然后它将输出到页面。您可能还需要在内部 if 之前添加一个 @ 以指示新代码块的开始,例如

@if (curCountry.ID % 9 == 0)
于 2013-08-19T10:38:02.410 回答
0

改变你if (curCountry.ID % 9 == 0)@if (curCountry.ID % 9 == 0)

于 2013-08-19T10:31:33.950 回答
0

稍微重新排列您的代码:

<ul> 
@{
    foreach (SDNCMS.Models.CountryModel curCountry in Model)
    {
        <li><a href="#" id="@curCountry.Name">@curCountry.Name</a></li>
        @if (curCountry.ID % 9 == 0)
        {
            </ul>
            <ul> 
        }
    }
} 
</ul>
于 2016-03-25T03:40:35.230 回答