Bar*_*fma 4 c# variables asp.net-mvc static constants
我在Visual Studio中启动了一个默认的MVC4项目,
在我的模型中的某个地方是这段代码
public class LoginModel
{
[Required]
[Display(Name ="Name")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想把它改成这样的东西,因为我想尝试本地化(在另一个类中工作,但不在这里)(strings = resx文件用于本地化)
public class LoginModel
{
[Required]
[Display(Name =strings.UserName)]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = strings.Password)]
public string Password { get; set; }
[Display(Name = strings.RememberMe)]
public bool RememberMe { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
错误是它必须是一个常量表达式,但当我这样做时,我会得到类似'属性索引缺乏访问者'的东西
我在这里失踪了什么?为什么我不能只为字符串赋值?在Java中,这一切都变得容易多了.希望你能帮助我.
Ale*_*kor 13
你应该使用资源.在属性中,您只能设置不可变值.
试试这个.
[Display(Name = "Remember me?", ResourceType = typeof(YourResourcesType))]
public bool RememberMe { get; set; }
Run Code Online (Sandbox Code Playgroud)
并使用DisplayAttribute和自定义资源提供程序查看此 ASP.NET MVC 3本地化