Razor - Как сохранить специальный HTML-символ в переменной - PullRequest
0 голосов
/ 23 мая 2018

На моей html-странице я хочу создать список из коллекции записей в моей модели.Однако некоторые из этих записей могут быть нулевыми, и в этом случае я хочу иметь пустой элемент списка, например:

  • Что-то
  • Что-то еще
  • Другие вещи

Я делаю это, вставляя неразрывный пробел.(обычный пробел не будет генерировать пустые элементы списка) Вот фрагмент кода:

<ul>
    @{ 
        foreach (var x in Model.Entries)
        {
            var rayon = x.Rayon ?? "&nbsp;";
            <li>@rayon</li>
        } 
    }
</ul>

К сожалению, это не работает, потому что вместо этого вставляется дословно &nbsp;.И удаление кавычек и / или добавление @: в начале не скомпилируется.

Что я могу сделать?

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Вы можете использовать Html.Raw.

использовать вот так

<li> @(Html.Raw(rayon)) </li>
0 голосов
/ 23 мая 2018

Вместо "&nbsp;" просто введите пустую строку:

var rayon = x.Rayon ?? string.Empty;

На самом деле, я думаю, вы даже можете просто отбросить это присвоение переменной и просто использовать x.Rayon как есть - нулевое значениедолжен иметь тот же эффект

<ul>
    @{ 
        foreach (var x in Model.Entries)
        {     
            <li>x.Rayon</li>
        } 
    }
</ul>

Обновление: Оба выше работают для меня.Так что, если все еще не работает, похоже, что вы используете CSS / стили на вашем ul.

Например, хорошо, я думаю, что это связано с CSS / стилями на ul, которые у вас есть (оба выше работают нормальнодля меня).например, следующий CSS будет скрывать пустые элементы li:

ul li:empty {
   display: none;
}

Итак, проверьте ваш CSS.

Если вы не хотите изменять существующий стиль, вы можете добавить дополнительный класск вашему CSS и применить это только для этого экземпляра.т.е. CSS:

ul.show-empty-li li:empty{
    display:list-item;
}

HTML:

<ul class="show-empty-li">
...
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...