フォームとボタンを含むフィールドセットを表示したいとします。
I/O値用のテキストボックスと次のラベルがあります。
- フィールドセットのタイトル(値とは関係ありません)
- テキストボックス(ラベルと検証)
- 送信ボタン(値とは関係ありません)
ラベルは、ローカリゼーションに基づいてデータベースから提供されます。
ケース2の場合、mvcがすでにサポートしているメカニズム(DataAnnotations属性)を使用したいので、次の2つの解決策を見つけました。
- DataAnnotations属性で使用するデータベースリソースプロバイダーを作成します(http://msdn.microsoft.com/en-us/library/aa905797.aspx#exaspnet20rpm_topic4)
- DataAnnotations属性を拡張して、データベースコンテキストを使用し、ローカライズされたテキストを取得します(asp.net mvc input / model validate multi language)
ビューモデルの例は次のようになります。
Model
{
fieldset title localized label
[textbox localized display label]
[textbox localized validation label]
textbox value
button localized label
}
ケース2のラベルは、ビューモデル値のメタデータとして指定されますが、大きなコンテンツを含むビューを考慮して、ケース1および3のデータベースからローカライズされたテキストを指定するためのエレガントで一貫した方法は何でしょうか。