2015-11-10 5 views
0

Мне было странно, что Razor фактически не генерирует тег атрибута, если значение равно @null.Почему бритва пропускает атрибут, если значение равно нулю

<div class="@null"></div> 

будет генерироваться <div></div>

но

<div class=""></div> 

будет генерироваться <div class=""></div>

Я знаю, что вызов .ToString на обнуляемых полях будет решить эту проблему, но почему это происходит?

+0

Его результатом является функция, называемая условными атрибутами, введенными в Razor-2.0. Для получения дополнительной информации см. [Эту статью] (http://www.mikesdotnetting.com/article/201/cleaner-conditional-html-attributes-in-razor-web-pages). –

ответ

0

Я заметил то же самое. Предположительно, они стараются производить более эффективный вывод (небольшой HTML), где это возможно. Нет смысла наводнять HTML с пустыми атрибутами.

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

Смежные вопросы