我有以下两个枚举:
public enum Status{
Active, Finished, Late
}
public enum Priority{
Urgent, Normal,Low, High
}
所以基本上我想以不同的风格展示它们。
对于Active状态,我想为Late Status设置一个绿色标签我希望有红色标签。
同样的想法优先,对于紧急,我想显示红色标签和普通与绿色标签。
是否有一种简单的方法可以做到这一点,而不是遍布各地的陈述?
我正在使用Razor。
答案 0 :(得分:2)
MVC并没有自动完成这些事情,但是这样的事情会起作用:
<label class="status-@(Model.Status.ToString().ToLowerInvariant())">...</label>
我更愿意将该逻辑包装成辅助方法,例如:
public static string CssClass(this Enum e)
{
string result = e.GetType().Name + "-" + e.ToString();
return result.ToLowerInvariant();
}
你刚才写道:
<label class="@Model.Status.CssClass()">...</label>