0

在 cshtml 页面中,我可以根据数据库值选择一个类。例子:

<div class="alert @item.State" role="alert">@item.State</div>

“状态”是我的表的枚举,定义如下:

public enum States
{
    Ready,
    Setup,
    Pause,
    Error,
    Maintenance,
    Emergency,
    Disconnected
}

上面的 Razor 语法将根据项目值向我的警报添加一个类。好的!

但现在我需要将这个类“翻译”为 Bootstrap 的类。例子:

Ready: alert-primary 
Pause or Disconnected: alert-secondary
Error: alert-danger
etc...

我可以使用 Razor 手动执行此操作,但我想知道是否有一种方便的方法可以直接在 css 中执行此操作,例如(元代码):

.Ready {
    return alert-primary
}

.Pause, .Disconnect {
    return alert-secondary
}
4

1 回答 1

1

您可以声明一个包含类名的字符串数组:

string[] ClassList = new string[]
{
    "ReadyClass", "SetupClass", "PauseClass", "ErrorClass", "MaintenanceClass", "EmergencyClass", "DisconnectedClass"
};

现在您可以使用以下行显示等效的类名

@ClassList[(int)item.State]

我没有测试它,但它应该可以工作。

于 2017-11-25T11:14:59.977 回答