Razor内部html元素属性的语法(ASP MVC 3)

我有一个重复客户行的表,我想添加客户ID到我的表行的ID属性像这样:

<tr id="row<customer id>"></tr> 

我尝试添加这个代码:

 @foreach(var c in Model) { <tr id="row@c.id"></tr> } 

这给了我以下输出:

 <tr id="row@c.id"></tr> <tr id="row@c.id"></tr> 

等等

但我希望它是:

 <tr id="row1"></tr> <tr id="row2"></tr> 

等等

我也尝试添加<tr>row@{c.id}</tr>但它不起作用。

你有没有试过<tr>row@(c.id)</tr>

为什么这不起作用的真正原因是因为你的row@c.id匹配电子邮件地址的正则expression式 。 所以parsing器假设它是一个电子邮件,而不是实际上调用代码的尝试。 row@{c.id}不起作用的原因是因为@{}不会输出,并且意味着包含代码块。

如果有疑问,应该使用@()因为它会强制()之间的内容被parsing为代码。