如何从控制器获取AdditionMetadata属性?

时间:2011-06-30 08:38:12

标签: asp.net-mvc-3 modelmetadata

在某些课程中,比方说A,我有一个属性(B类):

public class A {
...
[AdditionalMetadata("foo", "bar")]
public B attr {get; set;}
...
}

稍后,在我的控制器中,我实例化了这个类并使其成为模型:

...
A obj = new A();
return View(A);
...

现在,稍后,我有一个B类的自定义编辑器模板(即部分视图),从中我知道我可以通过以下方式获取AdditionalMetadata:ViewData.ModelMetadata.AdditionalValues["foo"];

但是:有没有办法从控制器中提前获取元数据属性?

1 个答案:

答案 0 :(得分:2)

那应该做的工作。

var modelMEtadata = ModelMetadataProviders.Current.GetMetadataForProperty(null, typeof(A), "attr");