2016-04-01 6 views
0

У меня есть список страниц umbraco, и я хочу, чтобы проверить, является ли свойство bool истинным, и поэтому я хочу применить определенный класс к divТестирование нескольких условий (Else if) при использовании тернарного оператора в режиме бритвы

Как я могу написать else, если тернарный оператор в бритве применить класс к div. Если я не был с помощью тройного, то это будет выглядеть как этот

if package.GetPropertyValue<bool>("test") 
{ 
    <div class="test1"></div> 
} 
else if (package.GetPropertyValue<bool>("test1")) 
{ 
    <div class="test1"></div> 
} 
else if (package.GetPropertyValue<bool>("test2")) 
{ 
    <div class="test2"></div> 
} 

на мой взгляд, как бритва, было бы что-то вроде следующим образом (но не права)

<div class="@(package.GetPropertyValue<bool>("test") ? "test" : package.GetPropertyValue<bool>("test1") ? "test1" : "test2")"></div> 

Можно ли это сделать или может кто-то подскажет, как Я могу применить к этому div определенный класс, когда выполняется конкретное условие?

большое спасибо Пол

ответ

1

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

@{ 
var css = package.GetPropertyValue<bool>("test") ? "test" : 
    package.GetPropertyValue<bool>("test1") ? "test2" : 
     package.GetPropertyValue<bool>("test2") ? "test3" : ""; 
} 
<div class="@css"></div> 

Однако, это похоже на плохой дизайн. Что, если они захотят еще одного класса? Вы бы тоже добавили еще один уровень вложенности к тернарному оператору, и снова в следующий раз и т. Д. Если это свойство предназначено только для установки стиля, почему бы не создать одно свойство с выпадающим списком, которое позволяет им выбирать стиль вместо этого, исключая необходимость вложенных троичных операторов.

+0

Привет, Тим, спасибо за ответ, я отдам его. Там будет только когда-либо три divs, чтобы стиль, поэтому мне не нужно беспокоиться о добавлении большего количества. Спасибо за ваше предложение, хотя я расскажу об этом. – Paul