在razor视图中将int转换为枚举值

时间:2019-07-23 08:57:12

标签: c# razor enums

我有一个看起来像这样的枚举:

public enum SMSTaskStatus
{
    New = 0,
    Awaiting = 1,
    InProgress = 2,
    OnHold = 3,
    Done = 4,
    Error = 5
}

并且我正在尝试使用剃刀视图返回该值

<td>@{ (SMSTaskStatus) item.Status.Value;}</td>

但是我得到一个错误

'Only assignment, call, increment, decrement, await and new
 object expressions can be used as a statement'

如何将其转换为视图中的枚举值?这是我班上可以为空的int

public int? Status { get; set; }

1 个答案:

答案 0 :(得分:2)

如前所述,当尝试在剃刀中投射枚举时,您会收到错误消息。 我试图解决您的问题,我认为这可能是一个很好的解决方案: 在剃须刀中:

@{var currentStatus = (SMSTaskStatus) item.Status;}

<td>@currentStatus</td>