1

一部のクラス、たとえばクラス 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"];

しかし:コントローラーから、そのメタデータ プロパティを以前に取得する方法はありますか?

4

1 に答える 1

2

それは仕事をするはずです。

var modelMEtadata = ModelMetadataProviders.Current.GetMetadataForProperty(null, typeof(A), "attr");
于 2011-06-30T08:57:41.883 に答える