Как я могу получить атрибут 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");