2013-05-20 103 views
7

我遇到了一个在Dynamic Data Web应用程序中自定义DataAnnotations的场景。这是之情况:动态更改动态数据项目中的数据注释

[Display(Name="DispName")] 
public string DName{get;set;} 

而是硬编码名称=“DispName”为显示DataAnnotation的,我希望获取从数据库中的一些价值,适合INT Name属性。像:

[Display(Name=SomeValueFromDB)]  
public string DName{get;set;} 

有什么办法来显示从数据库,而不是它的硬编码值显示DataAnnotation的名称属性?

另外,如何根据表值更改ScaffoldColumn(True/False)

我可以使用T4模板来做到这一点吗?

在此先感谢。

回答

1

一般来说不是,属性被编译并成为CIL元数据的一部分。为了调查这是一个很好的SO线程,在这个主题上有一些细节。 Is it possible to modify the attribute of a property at runtime?

就我个人而言,我认为您应该考虑以另一种方式将标签传递到前端,以便您可以灵活使用。例如包含标签和值的模型。