css - 从元素值中选择一个 css 类

标签 css twitter-bootstrap razor-pages

在 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
}

最佳答案

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

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

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

@ClassList[(int)item.State]

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

关于css - 从元素值中选择一个 css 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47484778/

相关文章:

c# - 结束标记 "text"没有匹配的开始标记

razor-pages - 如何重定向到 ASP.NET Identity 登录页面?

javascript - React JS/Webpack/Sass/Bootstrap 4 anchor 链接不能居中?

jquery - Bootstrap 导航栏折叠不起作用

JavaScript 最大表格大小

css - 在 CSS 中重叠 <div>

css - Bootstrap 4 Grid 在 UL 内部不工作

c# - ef 核心一对多关系抛出异常无法添加或更新子行

javascript - 选择选项的工具提示或评论

html - 在滚动容器中时,元素 offsetTop 不会改变