gpt4 book ai didi

c# - 通过资源文件将本地化应用到 DisplayAttribute

转载 作者:太空狗 更新时间:2023-10-30 00:54:59 26 4
gpt4 key购买 nike

我已经在 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; }
}

我想把它改成这样,因为我想尝试本地化(它在另一个类中工作,但不在这里)(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; }
}

错误是它必须是一个常量表达式,但是当我这样做时,我会得到类似“属性索引缺少访问器”的东西

我在这里错过了什么??为什么我不能给这该死的东西分配一个字符串值?在 Java 中,这一切要容易得多。希望你能帮帮我。

最佳答案

您应该使用资源。在属性中,您只能设置不可变值。

试试这个。

[Display(Name = "Remember me?", ResourceType = typeof(YourResourcesType))]
public bool RememberMe { get; set; }

看看这个 ASP.NET MVC 3 localization with DisplayAttribute and custom resource provider

关于c# - 通过资源文件将本地化应用到 DisplayAttribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10893650/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com