Razor – HTML.RAW不输出文本

前端之家收集整理的这篇文章主要介绍了Razor – HTML.RAW不输出文本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已尝试将所有解决方案提出到其他类似的问题,但它们似乎都不起作用.
本质上,我试图显示一个填充了模型集合数据的表格.这本身不是问题,但是我想强迫剃刀一直在3列中生成它(无论我们有多少元素).我最初的想法是这样做:
<table class="projects-grid">
    <tr>
    @for(int i = 0; i< Model.Count(); i++) 
     {
         if (i != 0 && i % 3 == 0) 
         {
             Html.Raw("</tr><tr>");
         }
        var item = Model.ElementAt(i);
        <td class="project-tile"> 
            @Html.DisplayFor(modelItem => item.Title)                
        </td>        
    }
    </tr>    
</table>

所以本质上每个第三个元素我都希望Razor输出“”字符串来向表中添加另一行.所有似乎都工作得很好,除了页面源中没有这种刺痛.在调试中我可以看到这一行

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

实际上是调用,但生成页面中没有输出.

有帮助吗?
提前谢谢了….

解决方法

它没有输出的原因是因为正在执行剃刀语法的上下文.在if块中,所有代码都像在常规C#上下文和行中一样运行:
Html.Raw("</tr><tr>");

返回一个MvcHtmlString,但你没有做任何事情.您需要输入输出上下文:

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

猜你在找的HTML相关文章