在空白区域(尤其是换行符)存在很多问题,其中剃刀表达式与纯文本混合在一起。对付他们很难。
例如-不幸的是,整个句子将由换行符分隔:
@if(something)
{
@This is some text
}
and this rest of this text
另一个例子-我使用了一些自定义助手来有条件地渲染文本。但是,如果不满足条件,则会显示空行。
@Html.IfNotNull("Some text 1",@Model.prop1)
@Html.IfNotNull("Some text 2",@Model.prop2) //false
@Html.IfNotNull("Some text 3",@Model.prop3)
渲染至:
Some text 1
Some text 3
但是我需要:
Some text 1
Some text 3
有什么建议吗?也许有适合我的情况的模板引擎?
答案 0 :(得分:0)
Razor会按字面意义解释您的空格,因此您始终可以将它们写在同一行中:
@if (true) { <text>This is some text</text> }and this rest of this text
@Html.IfNotNull("Some text 1",@Model.prop1) @Html.IfNotNull("Some text 2",@Model.prop2) @Html.IfNotNull("Some text 3",@Model.prop3)
输出:
This is some text and this rest of this text
Some text 1 Some text 3