2013-05-10 49 views
2

我有我的看法模型以下属性不同的显示名称名称“,”其他名称“等,具体取决于派生类。这将帮助我得到正确的验证信息等。MVC3一个属性

是否有可能重写派生类中的Name属性?

谢谢

+0

是的,它是可能的。我已经做到了。在派生类中,只需重写Name属性并赋予它另一个注释属性。 – 2013-05-10 19:43:14

+0

哦,是的!这比拥有另一个假物业要好。非常感谢!请将此添加为答案? – Nobody 2013-05-13 17:43:02

回答

0

Martin评论Martin为此服务。

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

感谢

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; } 
} 
+0

有什么意义?如果你将有两个不同的'PropertyTitle'注解,为什么不只是有两个不同的'DisplayName'注解并用它来完成? – 2013-05-11 08:22:48

+0

我同意@MartinSmith – Nobody 2013-05-13 17:41:39

+0

可怕的答案 – ozz 2013-05-15 13:15:53