Razor语法中Case的简写

时间:2016-02-29 05:47:12

标签: c# asp.net-mvc razor

我有一个类似ReportStatusConstants下面的课程。我使用它将报告状态存储在列中的数据库中。

在我的视图中显示时,将其转换回文本的最佳方法是什么? 必须有我在下面做的简写版本?

目前我有这样的事情:

剃刀:

@switch ((int)ViewBag.status)
{
    case 1:
        <p>Completed</p>
        break;
    case 0:
            <p>New</p>
        break;

}

我的班级:

public class ReportStatusConstants
{

    public const int New = 0;
    public const int Complete = 1;
    public const int Rejected = 2;

}
这是一个小提琴: https://dotnetfiddle.net/Y0vYan

1 个答案:

答案 0 :(得分:1)

您可以使用enum

public enum ReportStatusConstantsEnum
{
    New = 0,
    Complete = 1,
    Rejected = 2,
}

然后在控制器中:

@ViewBag.status = ReportStatusConstantsEnum.New;

并在视图中:

@ViewBag.status.ToString()

这是一个小提琴:https://dotnetfiddle.net/vJowOd