我有一个包含状态属性的订单模型。根据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/