2016-04-01 5 views
0

私はumbracoページのリストコレクションを持っているので、boolプロパティが真であるかどうかをチェックしてループしたい。 div剃刀のビューで三項演算子を使用するときに複数の条件をテストする(他の場合)

divにクラスを適用するには、3面演算子をかみそりで書くことはできますか。私は三元を使用して波平場合、それはそれは次のようにのようなものに(ただし右)でしょう私のかみそりビューでこの

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> 

この行うことができますか誰かがどのように提案することができます特定の条件が満たされた場合、その部門に特定のクラスを適用できますか?

多くのおかげ ポール

答えて

1

はい、あなたが巣三項演算子はできるが、あまりにもナッツ行く、またはあなたが読んでするのは非常に難しいコードをレンダリングすることができます注意してください。

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

しかし、これは設計の不良ビットのように思える:あなたのような何かを行うことができます。後で別のクラスが必要な場合はどうすればいいですか?別のレベルの入れ子を三項演算子に追加して、次回にも追加します。このプロパティがスタイルを設定するだけのものであれば、代わりにスタイルを選択できるドロップダウンを持つ単一のプロパティを持たないのがいいでしょうネストされた三項演算子の必要性。

+0

こんにちはティム、答えをありがとう、私はそれを行ってあげるよ。私はより多くの追加を心配する必要はありませんので、スタイルには3つの部門があります。あなたの提案をお寄せいただきありがとうございます。 – Paul

関連する問題