【问题标题】:Assigning attributes from resx Files从 resx 文件分配属性
【发布时间】:2012-05-30 19:32:12
【问题描述】:
string thing = ComparaSave.Resources.Message.EmailAdrRequired;
[Required(ErrorMessage = thing)]    <---- The problem!!
[DataType(DataType.EmailAddress)]
[Display(Name = "Email Address")]
[StringLength(100)]
[EmailAddress]
public string Email { get; set; }

抛出错误:

属性参数必须是属性参数类型的常量表达式、typeof表达式或数组创建表达式。

如何将资源文件读入这样的属性?

【问题讨论】:

    标签: c# asp.net-mvc resx


    【解决方案1】:

    你需要使用:

    [Required(ErrorMessageResourceName= "FullNameRequired", ErrorMessageResourceType = typeof(MyResource)]
    

    ErrorMessage 仅用于字符串。

    【讨论】:

    • 感谢您的快速答复!作品:)
    【解决方案2】:

    这是不可能的。属性只能使用常量值,而资源值不是常量。

    你可以把ErrorMessage改成ErrorMessageResourceName,这里不使用消息文本,而是错误消息字符串的资源名称。在属性代码中,您需要添加代码,该代码将从资源文件中按名称读取字符串。

    有关如何加载资源字符串的代码,请查看为您的 .resx 文件生成的 .cs 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多