在cshtml页面中,我能够根据数据库值选择一个类。例如:
<div class="alert @item.State" role="alert">@item.State</div>
&#34;状态&#34;是我的表的枚举定义如下:
public enum States
{
Ready,
Setup,
Pause,
Error,
Maintenance,
Emergency,
Disconnected
}
上面的Razor语法将根据项值在我的警报中添加一个类。好!
但现在我需要&#34;翻译&#34;这个班级是Bootstrap的一个。例如:
Ready: alert-primary
Pause or Disconnected: alert-secondary
Error: alert-danger
etc...
我可以使用Razor手动完成此操作,但我想知道在css中是否可以直接使用它,例如(metacode):
.Ready {
return alert-primary
}
.Pause, .Disconnect {
return alert-secondary
}
答案 0 :(得分:1)
您可以声明一个包含类名的字符串数组:
string[] ClassList = new string[]
{
"ReadyClass", "SetupClass", "PauseClass", "ErrorClass", "MaintenanceClass", "EmergencyClass", "DisconnectedClass"
};
现在,您可以使用以下行显示等效的类名
@ClassList[(int)item.State]
我没有测试它,但它应该可以工作。