Razor-HTML.RAW不输出文本

我已经尝试了所有针对其他类似问题提出的解决方案,但它们似乎都不起作用。
本质上,我试图显示一个表格,其中充满了来自模型集合的数据。这本身不是问题,但是我想强制razor总是在3列中生成它(不管我们有多少个元素)。我最初的想法是这样做:

<表class=“项目网格”>
<tr>
@对于(int i=0;i<Model.Count();i++)
{
如果(i!=0和i%3==0)
{
Html.Raw(“</tr><tr>”);
}
var项目=模型元素(i);
<td class=“项目地砖”>
@DisplayFor(modelItem=>item.Title)
</td>
}
&lt/tr>
&lt/表>

因此,本质上,我希望Razor每输出第三个元素“”字符串,将另一行添加到表中。除了页面源代码中不存在这种刺痛之外,所有这些似乎都可以正常工作。在调试中,我可以看到这一行

Html.Raw(“</tr><tr>”);

实际调用,但生成的页面中不存在输出

有什么帮助吗?
非常感谢

它不输出的原因是因为正在执行的razor语法的上下文。在if块中,所有代码都像在常规的C#上下文中一样运行,行:

Html.Raw(“</tr><tr>”);

返回一个MvcHtmlString,但您没有对其执行任何操作。您需要输入输出上下文:

@Html.Raw(</tr><tr>);

发表评论