Использование RazorEngine для создания простых текстовых шаблонов - PullRequest
0 голосов
/ 28 июня 2018

Существует много проблем с пробелами (особенно с разрывами строк), когда выражения бритвы смешиваются с простым текстом. С ними довольно сложно справиться.

Например, к сожалению, все предложение будет разбито на разрыв строки:

@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

Есть предложения? Может быть, есть шаблонные движки лучше для моего случая?

1 Ответ

0 голосов
/ 28 июня 2018

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
...