Html-литерал в троичном выражении Razor

Я пытаюсь сделать что-то вроде следующего

<div id="test">
    @(
        string.IsNullOrEmpty(myString)
          ? @:&nbsp;
          : myString   
    )
</div>

Вышеупомянутый синтаксис недействителен, я пробовал кучу разных вещей, но не могу заставить его работать.

26
задан fearofawhackplanet 28 July 2011 в 10:11
поделиться

1 ответ

Другой обновленный подход благодаря новым возможностям должен создать функцию помощника прямо в представлении. Это имеет преимущество создания синтаксиса, немного более чистого особенно, если Вы собираетесь быть вызовом его несколько раз. Это также безопасно от атак с использованием кросс-сайтовых сценариев без потребности назвать @Html. Закодируйте (), так как это не полагается на @Html. Сырые данные ().

Просто исправляет следующее в Ваше представление на самой вершине:

@helper NbspIfEmpty(string value) {
  if (string.IsNullOrEmpty(value)) {
    @:&nbsp;
  } else {
    @value
  }
}

Затем можно использовать функцию как это:

<div id="test">
    @NbspIfEmpty(myString)
</div>
0
ответ дан 28 November 2019 в 07:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: