实体框架ASP.NET MVC数据注释自定义格式

时间:2016-09-08 14:08:40

标签: c# asp.net asp.net-mvc entity-framework razor

我正在尝试为其中一个属性制作更加自定义的数据注释。在我的数据模型中,我有一个属性:

public int AutoCallableStart { get; set; }

我希望像这样显示:     1 - > “第一次”     2 - > “第二届”     3 - > “第三”,......等等。

在视图模型实现(我当前的实现)中,我有:

public string CallFrom
    {
        get
        {
            switch (_callableIncome.AutoCallableStart)
            {
                case 1:
                    return "1st";
                case 2:
                    return "2nd";
                case 3:
                    return "3rd";
                case 4:
                    return "4th";
                case 5:
                    return "5th";
                default:
                    return "???";
            }

        }
    }

这可以使用数据注释完成,例如

[Display(Name="CallFrom")
[TypeConverter(Type=".....")]

使用TypeConverter?我到处搜索,但找不到任何东西。我想充分利用EF并废弃我的视图模型。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

根据评论,我决定制作一个DisplayTemplate。我也保留了视图模型。这是我的显示模板:\ Shared \ DisplayTemplates \ CallFrom.cshtml

@model int

@{
switch (@Model)
{
    case 1:
        <span>1st</span>
        break;
    case 2:
        <span>2nd</span>
        break;
    case 3:
        <span>3rd</span>
        break;
    case 4:
        <span>4th</span>
        break;
    case 5:
        <span>5th</span>
        break;
    default:
        <span>???</span>
        break;
}
}

我的 VIEW MODEL

中的注释
[Display(Name="CallFrom")]
[UIHint("CallFrom")]
public int AutoCallableStart
{
    get { return _callableIncome.AutoCallableStart; }
}

像魅力一样!

相关问题