Как я могу получить атрибут AdditionMetadata от контроллера?

В некотором классе, скажем, в классе 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 ответ

Решение

Это должно сделать работу.

var modelMEtadata = ModelMetadataProviders.Current.GetMetadataForProperty(null, typeof(A), "attr");
Другие вопросы по тегам