使用c#和razor

时间:2017-12-18 12:09:02

标签: c# asp.net-mvc razor

基本上我为表的每个循环显示新行。 一行中有一个名称,所以我想给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++;
}

1 个答案:

答案 0 :(得分:4)

使用括号()而不是花括号来计算C#表达式。

所以改变

<td id="@{"CatName" + i.ToString()}"></td>

<td id="@("CatName" + i.ToString())"></td>

错误是确认@{ }中的内容应该是完整的陈述,而不是表达。