【发布时间】:2012-12-29 14:30:26
【问题描述】:
首先,我想澄清一下,我目前正在使用 ASP.NET MVC 的 Model 实体作为 ViewModel,因为我的项目是基于 MVCVM 的,所以我不会简单地混淆两者。
无论如何,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 以便在前端显示正确的消息?
【问题讨论】:
-
这个帖子可以找到答案:stackoverflow.com/questions/2431333/…
标签: localization asp.net-mvc-4