2

我的视图模型上有以下属性:

[Display(Name ="Contractor Name")]
public string Name { get; set; }

由于我在各个地方使用此视图模型,因此我想根据派生类将属性名称更改为“客户名称”、“其他名称”等。这将帮助我获得正确的验证消息等。

是否可以覆盖派生类中的 Name 属性?

谢谢

4

2 回答 2

2

这对我有用。

public class PropertyTitle : DisplayNameAttribute
{
    public int _ID { get; set; }

    public PropertyTitle(int ID)
    {
        this._ID = ID;
    }

    public override string DisplayName
    {
        get
        {
            if(_ID == 1)
               return "1";
            else if(_ID == 1)
               return "2";
            return "";
        }
    }
}

public class TestModel
{
    [PropertyTitle(2)]
    public string MyTextField { get; set; }
}
于 2013-05-10T21:52:09.123 回答
0

马丁的评论达到了目的。

对的,这是可能的。我已经做到了。在派生类中,只需覆盖 Name 属性并为其提供另一个注释属性。——马丁·史密斯

谢谢

于 2013-05-15T16:25:01.360 回答