1
我有一个Person类,这对于这个问题的目的,仅仅是如何覆盖DataAnnotations
public class Person
{
[Required(ErrorMessage = "***")]
[Display(Name = "Your full name")]
public string Name { get; set; }
}
我继承这是我投诉类
public class Complaints : Person
{
[Required(ErrorMessage = "***")]
[Display(Name = "Detail of the issue")]
public string Detail{ get; set; }
}
一切正常。
问题是,我们现在希望用户不需要输入完整的名称,但是我已经设置为必需。
由于我的Person类在其他地方使用,所以我无法更改Required属性。
如何覆盖派生类中的DataAnnotations
?我猜(这也解释了我的困惑),因为DataAnnotation
属于属性,我不能只是覆盖DataAnnocation
并必须重写整个属性?
使用'new'关键字。将一个属性添加到'Complaints' - 'public new string Name {get;组; }(没有属性)或更好的,使用视图模型。 –
谢谢。我如何在这个实例中使用ViewModel,它与具有属性@StephenMuecke的类有什么不同? – MyDaftQuestions
视图模型是特定于视图的类。请参阅[什么是MVC中的ViewModel?](http://stackoverflow.com/questions/11064316/what-is-viewmodel-in-mvc) –