ASP.NET MVC 3 でいくつかのカスタム モデル メタデータを実装しようとしています。一部のメタデータは構成された値に基づいて変更される可能性があるため、データ注釈属性を使用できません。そのため、メタデータを設定できるソリューションが必要です。すべてのリクエスト。カスタム モデル メタデータ プロバイダーについて読んでいますが、動的メタデータ シナリオのサポートについては何も見つかりません。
MVC フレームワークは、モデル メタデータ プロバイダーからのメタデータをキャッシュしますか?それとも、すべての要求で CreateMetadata メソッドが呼び出されますか? カスタム モデル メタデータ プロバイダーは、動的メタデータの優れたソリューションですか?それともビュー モデルに配置するだけでよいですか?
編集:これは必ずしも私が話している検証メタデータではないため、検証固有のソリューションを探しているわけではありません。ビューによって表示または使用される単なるメタデータである可能性があります (たとえば、HTML 5 データ属性)。
もう 1 つの例は、データベース主導のフィールド ラベルです。通常、Display 属性の Name プロパティを使用しますが、データベース内の値に基づいて表示名を動的に設定する場合、これは機能しません。