基本上我为表的每个循环显示新行。 一行中有一个名称,所以我想给td标签一个Id的“CatName”+ i,其中i是循环的迭代。例如,如果我们在循环的第二次迭代中,则id将是“CatName2”。在下面发布的代码中,我试图使用@来调用c#代码,但它只返回编译错误:
Only assignment, call, increment, decrement, and new object expressions can be used as a statement
@{
int i = 0;
}
@foreach (CategoryVM category in Model.CategoryList)
{
<tr>
<td id="@{"CatName" + i.ToString()}"></td>
</tr>
i++;
}
答案 0 :(得分:4)
使用括号()而不是花括号来计算C#表达式。
所以改变
<td id="@{"CatName" + i.ToString()}"></td>
到
<td id="@("CatName" + i.ToString())"></td>
错误是确认@{ }
中的内容应该是完整的陈述,而不是表达。