MVC 4从资源设置属性值

时间:2012-11-13 10:34:11

标签: asp.net asp.net-mvc resources asp.net-mvc-4 embedded-resource

我正在尝试以下事项:

 [Display(Name = Resources.LcmsBs.Models.UserName)]
 [ToolTip(Resources.LcmsBs.ToolTips.UserName)]
 public string UserName { get; set; }

我收到以下编译错误:

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

避免代码中的硬编码常量的最佳做法是什么? 是否可以从资源中设置属性值?

2 个答案:

答案 0 :(得分:10)

您的问题略有不同,但以下问题的答案可能适用于您的问题

DataAnnotations and Resources don't play nicely

如下所示

[Display(ResourceType = typeof(Resources.LcmsBs.Models), Name = "UserName")]

答案 1 :(得分:4)

如果您使用的是c#6.0或更高版本,最好的方法可能是:

[Display(Name = nameof(Resources.LcmsBs.Models.UserName), ResourceType = typeof(Resources.LcmsBs.Models))]