2013-12-17 37 views
4

我用下面的代碼添加CSS類在一個div CSS類:場所使用MVC和剃刀

<div id="123" class="tab-pane @{ if (some_condition) { Html.Raw("active"); }; } "> 

但沒有奏效。

我希望這樣的結果:

<div id="123" class="tab-pane active"> 
+1

只是一個說明。如果你知道條件,爲什麼不在控制器中處理這個問題,並返回視圖模型中的適當值。 –

回答

9

@ MichaelPerrenoud的回答很接近。你需要在括號中包裝整個條件。

使用@()告訴razor輸出一個字符串。所以

<div id="123" class='tab-pane @(condition ? "active" : "")'> 
+0

不需要單引號。經常使用雙引號。 – haim770

+0

謝謝!這種方式工作! – Accorsi

0

我相信你可能會想這樣做:

<div id="123" class='tab-pane @some_condition ? "active" : ""'> 
+0

@ user3112333,如果這爲您解決了問題,請考慮投票並將其標記爲答案。我很高興我能得到幫助! –

+0

謝謝,但是這種方式你建議不起作用。你知道任何其他解決方案嗎? – Accorsi

0

您可以添加JavaScript代碼

<script> 
     @if(true) 
     $('#123').addClass("active"); 
    </script> 
+0

謝謝!所以會奏效!但我目前不會使用JavaScript。你知道任何其他解決方案嗎? – Accorsi

0

這應該這樣做:

<div id="123" class="tab-pane @if (some_condition) { <text>active</text> }">