我现在很习惯剃刀,但我不明白为什么以下语法是正确的?
<li @(active ? "class=active" : "")> @Html.ActionLink(item.Text,item.TargetAction,Model.Controller) </li>
正如你可以看到我有条件地应用一个类(并且我已经写了这样的方式,所以如果bool active == false,则不会生成类标记)。
我不明白的是为什么这会产生正确的引号来给出:
<li class="active"><a href="/">Home</a></li> <a href="/">Home</a> </li>
不知怎的,它是神奇的整理引用,但我没有找到任何参考文章的剃须刀,以建议这是预期的,所以我想知道是否依赖于破坏的行为。如果我在单词“active”的字符串中添加单引号或双引号,就像你希望的那样,如果启动html,我最终得到:
<li class="'active'"> <a href="/">Home</a> </li>
要么
<li class="active"> <a href="/">Home</a> </li>
为什么这样工作,我的代码是否正确(而不是简单的运行)?