虽然微软已经在razor MVC4中创建了大约automagic rendering of html attributes个,但我花了相当长的时间来了解如何基于条件剃刀表达式在元素上呈现第二个CSS类.我想和你分享一下.
基于模型属性@Model.Details,我希望显示或隐藏列表项.如果有详细信息,则应显示div,否则应将其隐藏.使用jQuery,我所需要做的就是分别添加一个类显示或隐藏.出于其他目的,我还想添加另一个类"Details".所以,我的加价应该是:
<div class="details show">[Details]</div>
或<div class="details hide">[Details]</div>
下面,我展示了一些失败的try (假设没有任何细节,则会导致加价).
这个:<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'="">
.
这些都不是正确的加价.