Razor中的class属性

时间:2013-03-19 18:20:29

标签: razor

我正在构建一个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属性 - 即使它是空的吗?

1 个答案:

答案 0 :(得分:0)

只有当您传入的表达式不会导致null时,您才可以使用Conditional Attributes in Web Pages 2(MVC 4)来使class属性及其值呈现:

<li class="@(node.IsCurrentNode ? "active" : null)">