我无法弄清楚这个剃须刀代码有什么问题。
IDE 告诉我我的第一个<ul>
没有匹配的结束标记。它还说结束标签没有匹配的开始标签。它也不会将多行识别为 C# 代码,而是将其视为常规文本。
IDE 投诉位于对违规行的评论中。
<div class="list-container">
@{
int i = 0;
<ul> //no matching ending tag
@foreach (var item in Model.Items)
{
if (i % 8 == 0)
{
</ul> //no matching start tag
<ul> //"Text is not allowed between the opening and closing tags for element ul"
} //IDE doesn't recognize this closing brace as code... see it as text
<li>@item.ContentItem.Title.Value</li>
i++; //IDE doesn't recognize this closing brace as code... see it as text
} //IDE doesn't recognize this closing brace as code... see it as text
</ul>
}
</div>
当视图被执行时,当你离开时,我会得到你所期望的编译错误}
:“代码块缺少一个结束“}”字符。“
一旦我</ul><ul>
从if
语句中删除 ,视图就会编译并执行。
有趣的是,当我单击其中一个ul
标签时,正确的开始或结束标签也会突出显示。
显然我做错了什么。我没有正确使用 Razor 吗?