1

私はこのクラスを使用します

[Required(ErrorMessage = "Username is required") ]    
public string UserName { get; set; }

このコードを使用しようとすると

[Required(ErrorMessage = Localization.UserNameRequired) ]    
public string UserName { get; set; }

コンパイル エラーがスローされ、このローカライズされた文字列を使用できません。私は何か間違ったことをしていますか?

4

2 に答える 2

1

プロパティにリソースの値を渡すのではなく、プロパティとプロパティをErrorMessage使用する必要があります。ErrorMessageResourceNameErrorMessageResourceType

[Required(ErrorMessageResourceName = "UserNameRequired", ErrorMessageResourceType = typeof(Resources.Localization))]
public string UserName { get; set; }

following blog postASP.NET MVC でのローカリゼーションの詳細については、をご覧ください。

于 2013-08-29T14:41:00.803 に答える
0

あなたがする必要があるのは、ErrorMessageResourceTypeとを指定することErrorMessageResourceNameです。フレームワークが残りの作業を行います。UserNameRequiredリソースが公開されていることを確認してください。

属性は次のようになります。

[Required(ErrorMessageResourceType = typeof(Localization), ErrorMessageResourceName = "UserNameRequired") ] 

この記事には、ローカリゼーション リソースの残りの部分をどのように定義する必要があるかについての素晴らしい記事があります。さらに、ローカライズされたバージョンをその場で動的に切り替える方法も示しています。

于 2013-08-29T14:46:13.650 に答える