我正在构建一个MVC4应用程序(我的第一个)并且第一次使用Razor。 我目前正在构建一个简单的站点,并使用MVCSitemapProvider作为Menu和Breadcrumb的东西。
在我的菜单中,我需要输出一些css类,具体取决于当前项是否处于活动状态以及我添加到mvc.sitemap的自定义类。
这就是我所拥有的;
<li class="
@if (node.IsCurrentNode){<text>active </text>}
@if (node.Children.Any()){<text>has-sub</text>}
">
上面的工作正如预期的那样 - 但在视图源中看起来并不好看。 始终显示class属性 - 即使它是空的吗?
答案 0 :(得分:0)
只有当您传入的表达式不会导致null
时,您才可以使用Conditional Attributes in Web Pages 2(MVC 4)来使class属性及其值呈现:
<li class="@(node.IsCurrentNode ? "active" : null)">