根据DisplayName属性生成列标题?

时间:2010-07-01 12:09:39

标签: asp.net-mvc data-annotations

当我从List模板生成视图时,我注意到列的名称不是基于DisplayName()注释。我知道如何编辑list.tt代码模板,但我不知道如何从类属性中检索DisplayName属性。

1 个答案:

答案 0 :(得分:1)

获取DisplayName属性的常用方法是通过反射。你将遇到的问题是.tt模板和反射不能很好地结合在一起。 Reflection依赖于加载到AppDomain中的代码。由于.tt文件实际上并没有加载代码,因此无法反映它们。

有关此问题的更多信息,以及可能的解决方案:

http://www.olegsych.com/2007/12/how-to-use-t4-to-generate-decorator-classes/

MVC和Visual Studio必须使用某种类型的代码检查来生成一些生成的所以我会沿着那条路看,也许是一些疯狂的正则表达式,如果你没有解决反射问题。