Css 在“我的状态”字段周围应用彩色框

Css 在“我的状态”字段周围应用彩色框,css,asp.net-mvc,twitter-bootstrap,asp.net-mvc-4,razor,Css,Asp.net Mvc,Twitter Bootstrap,Asp.net Mvc 4,Razor,我正在开发一个asp.net mvc web应用程序,该应用程序使用Bootstrap v2.0.4,我使用以下命令显示状态字段的值:- @Html.DisplayFor(model => model.AssetState.DISPLAYSTATE, new { @class= Model.AssetState.DISPLAYSTATE.ToString() } ) 然后,我在css文件中添加了以下内容:- .operational { color:green; } .Disposed

我正在开发一个asp.net mvc web应用程序,该应用程序使用Bootstrap v2.0.4,我使用以下命令显示状态字段的值:-

@Html.DisplayFor(model => model.AssetState.DISPLAYSTATE, new { @class= Model.AssetState.DISPLAYSTATE.ToString() } )
然后,我在css文件中添加了以下内容:-

.operational {

color:green;
}
.Disposed {
    color:red;
}

但上述操作对生成的标记没有任何影响,显示的值将始终返回默认颜色?

请执行以下操作,它会起作用

<span class="@Model.AssetState.DISPLAYSTATE.ToString()">   
@Html.DisplayFor(model => model.AssetState.DISPLAYSTATE )
</span>

@DisplayFor(model=>model.AssetState.DISPLAYSTATE)
参考:

如果您想做不同的事情,这不是html帮助程序提供的,那么请按照链接中的说明进行操作。您可以编写自己的html助手


类是否应用于元素?我的意思是,当你检查HTML时,你在元素上看到类名了吗?你能包括你的AssetState.DISPLAYSTATE对象声明吗?似乎在编译razor视图时,类值当时不可用。如果看不到实际的模型声明,很难知道。然而,为了进行测试,您可以尝试类似于@{var classvalue=Model.AssetState.DISPLAYSTATE.ToString()??“operational”}然后分配给HTML助手@class=classvalue@anpsmn否使用F12工具将不会显示类名。@Bosman应用代码的结果如下:-使用中可能有助于将类添加到元素否Displaystate不是enu,因为如果我直接在视图“Model.AssetState.Displaystate”中写入以下内容,然后Razor视图将显示实际状态,传递给视图的模型对象是单个对象。好的,我尝试了以下“@Html.DisplayFor(Model=>Model.AssetState.DISPLAYSTATE,new{@class=“testval23”}”。但该类将不会应用于生成的文本,似乎问题出在DisplayFor模板内部,该模板不接受@class参数…您好,请参阅以下链接。你会得到的。DisplayFor没有html属性作为参数。所以您应该像下面这样做,@Html.DisplayFor(model=>model.AssetState.DISPLAYSTATE)为什么我认为我应该能够将类直接传递给DisplayFor???为什么这不起作用?