2011-06-30 49 views
1

在一些班級,讓說A類,我(的B型)的屬性:如何從控制器獲取AdditionMetadata屬性?

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

後來,在我的控制,我實例化這個類,並使其成爲一個模型:

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

現在,以後,我對B類的自定義編輯模板(即局部視圖),並從它,我知道我可以得到AdditionalMetadata:ViewData.ModelMetadata.AdditionalValues["foo"];

但:有沒有辦法讓元數據屬性更早,從控制器?

回答

2

這應該做的工作。

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

它的確如此!謝啦。 – igorludi

相關問題