В то время как Microsoft создала автоматическую рендеринг html-атрибутов в бритве MVC4, мне потребовалось некоторое время, чтобы узнать, как сделать второй класс css на элементе, основанный на условном выражении бритвы. Я хотел бы поделиться им с вами.
На основе свойства модели @Model.Details я хочу показать или скрыть элемент списка. Если есть детали, необходимо показать div, иначе он должен быть скрыт. Используя jQuery, все, что мне нужно сделать, это добавить шоу класса или скрыть соответственно. Для других целей я также хочу добавить еще один класс, "подробности". Итак, моя надбавка должна быть:
<div class="details show">[Details]</div>
или <div class="details hide">[Details]</div>
Ниже я показываю некоторые неудачные попытки (итоговая надбавка, предполагающая отсутствие деталей).
Это: <div @(@Model.Details.Count > 0 ? "class=details show" : "class=details hide")>
,
сделает это: <div class="details" hide="">
.
Это: <div @(@Model.Details.Count > 0 ? "class=\"details show\"" : "class=\"details hide\"")>
.
сделает это: <div class=""details" hide"="">
.
Это: <div @(@Model.Details.Count > 0 ? "class='details show'" : "class='details hide'")>
сделает это: <div class="'details" hide'="">
.
Ни одна из них не является правильной надписью.