我试图做一个简单的if/else内使用此代码一个foreach:简单的if/else剃刀语法
@{
var count = 0;
foreach (var item in Model)
{
if (count++ % 2 == 0)
{
@:<tr class="alt-row">
} else {
@:<tr>
}
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
<td>
@Html.Truncate(item.Details, 75)
</td>
<td>
<img src="@Url.Content("~/Content/Images/Projects/")@item.Images.Where(i => i.IsMain == true).Select(i => i.Name).Single()"
alt="@item.Images.Where(i => i.IsMain == true).Select(i => i.AltText).Single()" class="thumb" />
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.ProjectId }) |
@Html.ActionLink("Details", "Details", new { id = item.ProjectId }) |
@Html.ActionLink("Delete", "Delete", new { id=item.ProjectId })
</td>
</tr>
}
}
我得到一个解析错误“遇到结束标记‘TR’没有匹配的开始标签。您的开始/结束标签是否适当平衡?“似乎if语句不想'工作。
谢谢。我尝试了@ DJQuimby的解决方案,它有点奏效,但其他的不再被突出显示为蓝色,我得到了这个错误“代码块缺少关闭”}“字符。确保你有一个匹配的”}“ “字符,并且没有任何”}“字符被解释为标记。” 虽然你的解决方案工作,谢谢你的两个建议。 – 2012-03-14 21:42:15
@亨克霍特曼感谢您的回答。但在Visual Studio中如果按ctrl + k + D来对齐代码,则将其重新格式化为@:(正在移至下一行)。所以造成同样的错误 – 2015-03-30 13:13:48
得到了一个修复这个Pahul? – CularBytes 2015-12-26 23:43:12