css - 动态 css 类取决于实体属性的值

标签 css asp.net-mvc asp.net-mvc-4

我有一个包含状态属性的订单模型。根据Status的值,我想设置dom中多个元素的CSS。

<span class = "green">ORDERED</span>
<span class = "orange">SHIPPED</span>
<span class = "gray">RECEIVED</span>

我想在详细信息 View 中根据 Order.Status 的值设置那些绿色/橙色/灰色类。我该怎么做?

最佳答案

您可以编写一个自定义帮助器,它会根据状态值返回正确的 CSS:

public static class Htmlextensions
{
    public static string GetStatusCss(this HtmlHelper html, string status)
    {
        if (string.Equals(status, "ORDERED", StringComparison.OrdinalIgnoreCase))
        {
            return "green";
        }
        else if (string.Equals(status, "SHIPPED", StringComparison.OrdinalIgnoreCase))
        {
            return "orange";
        }
        return "gray";
    }
}

然后您可以在 View 中调用此帮助器以获取正确的 CSS 类:

<span class="@Html.GetStatusCss(Model.Status)">
    @Html.DisplayFor(x => x.Status)
</span>

关于css - 动态 css 类取决于实体属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14587467/

相关文章:

css - 如何让我的 CSS-3D 立方体响应?

asp.net-mvc - 在 Controller 上找不到公共(public)操作方法 pagerror.gif/refresh.gif - 谁在调用该 gif?

asp.net-mvc-4 - MVC4 自定义不显眼的验证器不起作用

用于计算列表项的 CSS if/else 语句

CSS: float ,但下面没有任何东西

CSS 显示文本框

c# - 引发异常时不显示自定义错误页面

asp.net-mvc - 在 VS 2012 中创建 MVC4 项目时出现 NuGet 错误

c# - 将模型的 IEnumerable 属性传递给 Controller ​​后操作 - ASP MVC

css - Joomla 1.5 到 2.5 CSS 更改