我遇到过在动态数据 Web 应用程序中自定义 DataAnnotations 的场景。这是场景:
[Display(Name="DispName")]
public string DName{get;set;}
我不想为 Display DataAnnotation 硬编码 Name="DispName",而是想从数据库中获取一些值并适合 Name 属性。喜欢:
[Display(Name=SomeValueFromDB)]
public string DName{get;set;}
有什么方法可以从数据库中显示 Display DataAnnotation 的 Name 属性而不是对其值进行硬编码?
另外,如何根据表值更改ScaffoldColumn(True/false)?
我可以使用 T4 模板执行此操作吗?
提前致谢。
最佳答案
一般来说不会,属性会被编译并成为 CIL 元数据的一部分。要调查这是一个很好的 SO 线程,它详细介绍了这个主题。 Is it possible to modify the attribute of a property at runtime?
我个人认为您应该考虑另一种将标签传递到前端的方法,这样您就可以更加灵活。例如,包含标签和值的模型。
关于c# - 在动态数据项目中动态更改数据注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16644388/