まず、プロジェクトがMVCVMに基づいているため、現在ASP.NET MVCのModel
エンティティを使用していることを明確にしたいので、2つを単純に混同しているわけではありません。ViewModel
とにかく、MVCは次のようなViewModelエンティティのいくつかの属性を自動的に作成します(ウィザードから、イタリア語でローカライズされています)
public class LoginModel
{
[Required]
[Display(Name = "Nome utente")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Display(Name = "Memorizza account")]
public bool RememberMe { get; set; }
}
Display
属性をに置き換えると[Display(Name = LoginViewModelResources.lblUsername)]
、コンパイルエラーが発生します:「引数は定数式、typeof式、または行列作成式である必要があります」。一言で言えば、プロパティ参照はノーノーです。
Razorビューは、HTMLを生成するために次のようなタグを使用します
@Html.LabelFor(m => m.UserName)
@Html.TextBoxFor(m => m.UserName)
@Html.ValidationMessageFor(m => m.UserName)
フロントエンドで正しいメッセージを表示するために、ViewModelをローカライズするにはどうすればよいですか?