一尘不染

使用Razor MVC3的条件HTML属性

html

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

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

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

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

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


阅读 311

收藏
2020-05-10

共1个答案

一尘不染

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

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

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

SSSHHH …不要告诉。:)

2020-05-10