我试图在 MVC3 中使用 Razor 语法制作一个非常简单的 View ,但似乎我无法正确使用语法。
我有一个像这样的简单表
<table>
<tr>
@{
var counter = 0;
}
@foreach (var category in ViewBag.Categories)
{
counter++;
<td>
<input type="checkbox" checked="checked" name="@("category" + category.Code)" />
@category.Description
</td>
if (counter % 2 == 0)
{
</tr>
<tr>
}
}
</tr>
</table>
当我在 if 语句中插入 and 时,收到此错误
The using block is missing a closing "}" character.
如果我尝试将这两个标签包裹在 and 中,则会出现此错误:
The "tr" element was not closed.
最佳答案
您的 </tr><tr>
弄乱了 html/代码组合的“流程”。
您正在不同级别关闭 tr-tag,不是 html 中的不同级别,而是代码内部。您应该欺骗 razor 输出 html,它不会自行解析。
你可以像这样包含它们:
@:</tr><tr>
或者
@Html.Raw("</tr><tr>")
结果:
if (counter % 2 == 0)
{
@:</tr><tr>
}
点击获取 Haack 的 quick reference of Razor syntax
关于syntax - MVC3 Razor 语法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4827354/