使用C#和Razor设置HTML元素的ID

3
基本上,我有一个循环用于表格的显示新行。一行中有一个名称,所以我想给td标签一个ID,即“CatName”+ i,其中i是循环的迭代。例如,如果我们处于循环的第二次迭代,则id将为“CatName2”。在下面发布的代码中,我尝试使用@来调用C#代码,但它仅返回编译错误:
只有赋值、调用、增量、减量和新对象表达式可以用作语句
@{
    int i = 0;
}
@foreach (CategoryVM category in Model.CategoryList)
{
    <tr>
        <td id="@{"CatName" + i.ToString()}"></td>
    </tr>
    i++;
}

请注意,model-view-controller标签是用于针对该模式的问题。ASP.NET-MVC有一个特定的标签实现。不要在你的问题中提供答案。 - user3559349
1个回答

5
请使用圆括号()而不是花括号来计算C#表达式。
因此,请更改为:
<td id="@{"CatName" + i.ToString()}"></td>

to

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

错误提示表明 @{} 内的内容应该是一个完整的语句而不是一个表达式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接