我的razor索引视图中有这样的代码:
@for (decimal hour=7m; hour<=20.5m; hour +=0.5m)
{
var item = @Model.Items.FirstOrDefault( i=> i.Hour == hour);
if (item != null)
{
<td colspan="@item.TimeBlocks">
@item.Description
</td>
hour += (item.TimeBlocks-1)* 0.5m;
}
else
{
<td>
<a href="/Items/Add/@Model.UserId">+</a>
</td>
}
}
出于某种原因,VS2013在错误列表窗口中始终告诉我“} expected”。语法高亮显示器显示所有高亮显示的内容,直到大括号前面的大括号。
我尝试过使用@:作为html标签。它在if块中工作正常,但在else块中我得到以下错误: “:”在代码块的开头无效。
我也试过在标签中包装html标签,但这也不起作用。
我该怎么做才能让它渲染?
答案 0 :(得分:1)
您的代码中有错误。
以下一行
var item = @Model.Items.FirstOrDefault( i=> i.Hour == hour);
实际应该是:
var item = Model.Items.FirstOrDefault( i=> i.Hour == hour);
删除它会修复您的代码