快速连续混合c#和html

时间:2014-10-06 09:59:54

标签: asp.net-mvc

我正在尝试构建网格服务器端,我在cshtml文件中写道:

@{
    var items = (List<FancyItem>)ViewBag.items;
    var col = 0;
    var colMax = 3;

    foreach (var it in items) {
        if (col == 0) {<tr>}



        if (col == 0) {</tr>}
        col++;
        if (col == colMax) {col = 0;}
    }
}

所以理论上,列创建代码会介于两者之间,但是,我从来没有这么做过。当列重置时,两个if应该创建行但是在&lt; TR&GT;被解释为纯文本。我不知道该怎么做,什么样的语法糖果会解决这个问题?

1 个答案:

答案 0 :(得分:0)

我看到你的问题 - Razor希望你关闭任何开头的标签,或者它认为你还在写HTML

试试这个:

编辑:添加@以获取要写入HTML输出流的内容

foreach (var it in items)
{
    if (col == 0)
    {
        @Html.Raw("<tr>");
    }

    if (col == 0) {
        @Html.Raw("</tr>");
    }
    col++;
    if (col == colMax)
    {
        col = 0;
    }
}