【发布时间】:2015-01-03 01:45:22
【问题描述】:
我正在尝试找到正确的方法来做到这一点,我希望能提供一些指导。我有一个带有视图的脚手架实体框架控制器,以及我的模型中引用枚举的多个项目:
public enum JobStatus
{
NotStarted, InProgress, AwaitingReboot, Completed
}
public class Job
{
public int JobID { get; set; }
public string CompanyName { get; set; }
public string EngineerName { get; set; }
public string ServerName { get; set; }
public JobStatus? OverallJobStatus { get; set; }
public JobStatus? WindowsUpdateCompleted { get; set; }
public JobStatus? MicrosoftUpdateCompleted { get; set; }
public JobStatus? ExchangeUpdateCompleted { get; set; }
public JobStatus? FirmwareUpdateCompleted { get; set; }
public JobStatus? SymantecSEPMUpdateCompleted { get; set; }
public JobStatus? SymantecClientsUpdateCompleted { get; set; }
public JobStatus? BackupSoftwareUpdateCompleted { get; set; }
public JobStatus? BackupManualCheckCompleted { get; set; }
public JobStatus? EventViewerCheckCompleted { get; set; }
public JobStatus? DiskDefragCompleted { get; set; }
public JobStatus? RecreateSBSMonitoring { get; set; }
index.cshtml 将其引用为(这里是一个例子):
@Html.DisplayFor(modelItem => item.ExchangeUpdateCompleted)
这一切都很好,在每行的相关列中,我得到了 NotStarted 或 AwaitingReboot 等的作业状态。
我有四个跨度类代表一个引导字形图标:
<span class="glyphicon glyphicon-ok green"></span>
<span class="glyphicon glyphicon-remove red"></span>
<span class="glyphicon glyphicon-star gold"></span>
<span class="glyphicon glyphicon-off red"></span>
我想做的不是显示 NotStarted 或 AwaitingReboot 等,而是显示 span 类。
我认为这需要一个 switch/case 语句。在 MVC 框架中,合适的位置在哪里?我假设最有效的方法是通过某种函数来传递作业状态并输出正确的跨度类?任何带有代码示例的方向都将不胜感激。
基于此我将如何在实际代码中显示它
【问题讨论】:
-
你有没有想过使用
DisplayTemplate?
标签: asp.net asp.net-mvc entity-framework razor