1


0

プロパティからデータ注釈属性を取得する方法

サポートされているdataannotion属性とともにクラス情報とそのプロパティを使用して、グリッドを構築しようとしています。

クラスと注釈は、(ProductクラスとProductMetaDataクラス)などの異なるクラスで定義され、metadatatype属性と一緒に結び付けられる場合があります(単一のクラスで定義される場合もあります)。

これにより、基本クラス自体でDataAnnotaion属性が使用可能になりますか、またはdataannotation属性を取得する他の手段がありますか?

リンクできるサンプルコードも非常に役立ちます。

ありがとう。

1 Answer


2


クラスからモデルメタデータを読み取るには、通常、http://msdn.microsoft.com/en-us/library/system.web.mvc.dataannotationsmodelmetadataprovider.aspx [DataAnnotationsModelMetadataProvider](System.ComponentModel内)のインスタンスを作成する必要があります。

このクラスは、クラスのメタデータの要約であるModelMetadataオブジェクトを生成します。

このアプローチの主な利点の1つは、バディメタデータクラスのメタデータを自動的に尊重することです。

ModelMetadataを使用すると、特定のメタデータ属性とそれらの意味の解釈との間の優れた抽象化も導入できます。 たとえば、独自のメタデータ属性の一部を作成したり、メタデータの他のソースを強制したい場合(例: Dateで終わるすべてのプロパティをDataType.Dateが適用されているかのように処理します)、独自のDataAnnotationsModelMetadataProviderを作成し、これらの追加ルールを追加できます。ModelMetadataクラスから読み取るため、他のすべてのコードは変更されません特定の属性の知識から直接。