变量strCSSClass通常具有一个值,但有时为空。

我不想在此输入元素的HTML中包含一个空的class =“”,这意味着如果strCSSClass为空,我根本就不需要class =属性。

以下是执行条件HTML属性的一种方法:

<input type="text" id="@strElementID" @(CSSClass.IsEmpty() ? "" : "class=" + strCSSClass) />

有没有更优雅的方式做到这一点?具体来说,我可以遵循与元素其他部分中使用的相同的语法:class =“@ strCSSClass”?

最佳答案

您没有从Razor的PM那里得到我的消息,但是在Razor 2(网页2和MVC 4)中,我们将在Razor中内置条件属性(自MVC 4 RC成功测试以来),所以您可以说这样的事情...

<input type="text" id="@strElementID" class="@strCSSClass" />

如果strCSSClass为null,则class属性将完全不呈现。

SSSHHH ...不要告诉。 :)

09-16 17:22