需要您对razor语法的帮助,因为它会抛出错误...
<div class="container">
@{var i = 0;}
@foreach (var m in Tests)
{
if (i%3==0)
{
<div class="row">
}
<div class="col-md-3">ass</div>
@if (i % 3 == 1)
{
</div>
}
@{i++;}
}
</div>
使用块缺少结束“}”字符。确保你 为此中的所有“{”字符添加匹配的“}”字符 阻止,并且没有任何“}”字符被解释为 标记。
然后,我试过......
<div class="container">
@{
var i = 0;
foreach (var m in Tests)
{
if (i%3==0)
{
<div class="row">
}
<div class="col-md-3">ass</div>
if (i % 3 == 1)
{
</div>
}
i++;
}
}
但是这给了我......
ass }if (i % 3 == 1) {
ass }if (i % 3 == 1) {
ass }if (i % 3 == 1) {
感谢帮助纠正我的代码...
答案 0 :(得分:4)
如果它们位于单独的代码块中,则Razor无法正确匹配开始和结束标记,因此无法正确解析视图。如果你需要做这样的事情,你需要在标签前加@:
来告诉Razor忽略该行的解析标签或将它们包装在@Html.Raw
中:
例如:
if (i % 3==0)
{
@:<div class="row">
}
或者:
if (i % 3==0)
{
@Html.Raw("<div class='row'>")
}
答案 1 :(得分:0)
您应该从此@
和此@if (i % 3 == 1)
中删除@{i++;}
。这两个表达式都已在@foreach (var m in Tests)
的代码块中。因此,您不需要@
。