我想在运行时自定义MVC在视图模型属性上看到的属性。据我所知,MVC在内部依赖于类型描述符来枚举属性。有没有办法在某处挂钩类型描述符以返回属性的自定义属性列表?
答案 0 :(得分:1)
有没有办法在某处挂钩类型描述符以返回自定义 属性的属性列表?
这取决于。如果要覆盖元数据提供程序使用的数据注释,则可以编写自己的自定义ModelMetadataProvider
并替换默认值DataAnnotationsModelMetadataProvider
)。这允许您为给定类型提供自定义元数据提供程序,并在运行时返回此信息。
如果另一方面你正在进行验证,那么你有点不走运。为了获得更大的灵活性,我建议您使用FluentValidation.NET
而不是数据注释。