Open棟梁Project - マイクロソフト系技術情報 Wiki
目次 †
概要 †
MVCではRazorが使える。 †
なので、通常のリソースファイルを使用すると、インテリセンスを使用でき便利
。
Model Binding時 †
表示名 †
国際化されていない表示名を、
[Display(Name = "表示名")]
以下のように国際化する。
[Display(Name = "リソースクラスのプロパティ名", ResourceType = typeof(リソースクラスの型))]
エラーメッセージ †
標準のエラーメッセージ †
(明示的にメッセージを指定しない場合)
カスタムエラーメッセージ †
(明示的にメッセージを指定する場合)
- → アノテーションに、以下のプロパティを設定する。
- ErrorMessageResourceName? = "リソースクラスのプロパティ名"
- ErrorMessageResourceType? = typeof(リソースクラスの型)
- 注意
- リソースはアクセス修飾子を「Public」にしておかないと、
リソースが見つからないという実行時エラーが発生するので注意。
- これは、当該プロジェクトのアセンブリから直接ではなく、ValidationAttribute?クラスが
格納されるSystem.ComponentModel?.DataAnnotations?.dll経由での取得になるため。
- ただ、手動で都度で'internal'から'public'へ書き換えるのは大変なので、
カスタムツールをResXFileCodeGenerator?から、PublicResXFileCodeGenerator?に変更すると良い。
- 参考
Tags: :.NET開発, :ASP.NET, :国際化対応