当DisplayForModel不适用时,是否可以在对象显示上指定元数据?

时间:2012-03-29 20:25:03

标签: asp.net-mvc

我有一种情况,我希望显示一个未附加到模型的对象,但我想为其指定元数据,以便模板系统将其显示为,就好像它是具有指定元数据的模型属性。类似的东西:

@Html.DisplayObject(obj, metadata)   <--pseudocode

也就是说,我有一个自由对象obj,我知道我希望它如何显示(通常的元数据,如DisplayName,FormatString,UIHint等),但是这个对象没有附加到模型。

在这种情况下,如何挂钩MVC的默认模板逻辑?

(顺便说一下,对象没有附加到模型的原因是它在运行时动态加载,所以没有编译时间来添加属性并用元数据属性来装饰它。所以我可能真的询问处理这种情况的正确方法。)

2 个答案:

答案 0 :(得分:0)

此处一个可能的选择是实现自定义元数据提供程序。我自己从未这样做,但article on the topic看起来很有用而且很详细。

答案 1 :(得分:0)

无论如何都不是一个出色的答案,但最后我只是手动实现了我需要的UI,将其考虑在有用的局部视图和辅助方法中,并且它真的不那么难。我也有完全控制,这很好。