【发布时间】:2014-09-08 01:35:13
【问题描述】:
我有一个 Razor 视图,我使用 Bootstrap 作为我的设计/前端基线。现在我想创建一个典型的 row/col-sm-6,然后每隔一个 item 创建一个新行。
但是,当我在下面做以下标记时,我得到一个:
Additional information: The if block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
我只是不明白为什么会出现此错误。如果您在下面看到我的标记,则有正确的 { 和 },它们应该加起来。
知道为什么会出现错误吗?
@{ int index = 0; }
@if (Model != null && Model.Items != null)
{
<div class="projects">
@foreach (var project in Model.Items)
{
if (index % 2 == 0)
{
<div class="row">
}
<div class="col-sm-6 project">
@if (!string.IsNullOrEmpty(project.Image))
{
<img src="@project.Image" />
}
<div class="project_title">@project.Title</div>
@if (project.UserSnippet != null)
{
<img src="@project.UserSnippet.ProfilePic" class="post_image" />
@Html.Partial("_UserSnippet", project.UserSnippet)
}
@if (!string.IsNullOrEmpty(project.DescriptionSnippet))
{
<p class="project_description">@project.DescriptionSnippet</p>
}
<a href="/p/@project.Alias">Read more about project</a> @if (Model.ShowEditLink)
{
<a href="@Url.Action("EditProject", "Project", new { project_id = project.Id})">Edit project</a>
}
</div>
@if (index%2 == 0)
{
</div>
}
}
</div>
}
【问题讨论】:
-
错误是正确的,你有1个额外的}。看起来倒数第二个是您应该删除的。
-
不,错误根本不正确。这是损坏的 Razor 解析器。
标签: c# asp.net-mvc razor asp.net-mvc-5