在我的mvc app中,我有一个模型和一个相关的viewmodel。当我绑定到模型时,displayfor / editorfor方法会选择displayname数据注释,并且客户端验证也会自动生效。
当我将视图绑定到我的viewmodel时,将忽略数据注释。我意识到我可以在我的viewmodel上放置验证/显示名称注释,但不希望重复或将它们移动到viewmodel中。人们如何处理这个问题?
到目前为止我已经
了[MetadataType(typeof(HeritageMetadata))]
public partial class Heritage {
}
public class HeritageMetadata{
[Display(Name = "Listing Status")]
public int ListingStatus;
[Display(Name = "Existing Structure Age")]
public int ExistingStructureAge;
[Display(Name = "Conservation Management Plan?")]
public int ConservationManagementPlan;
}
public class HeritageViewModel {
public int StructuresId { get; set; }
public int ListingStatus { get; set; }
public int ExistingStructureAge { get; set; }
public bool ConservationManagementPlan { get; set; }
public IEnumerable<SelectListItem> ListingStatusTypes { get; set; }
public IEnumerable<SelectListItem> ExistingStructureAgeTypes { get; set; }
}