加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – DataAnnotations和资源不能很好地发挥作用

发布时间:2020-12-15 23:58:56 所属栏目:asp.Net 来源:网络整理
导读:我在MVC2应用程序中使用数据注释,并且在尝试将RESX文件资源用于错误消息时有点气馁. 我已尝试以下但继续获取异常“属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式” [Required(ErrorMessage = Resources.ErrorMessages.Required)][Re
我在MVC2应用程序中使用数据注释,并且在尝试将RESX文件资源用于错误消息时有点气馁.

我已尝试以下但继续获取异常“属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式”

[Required(ErrorMessage = Resources.ErrorMessages.Required)]
[Required(ErrorMessageResourceName = Resources.ErrorMessages.Required,ErrorMessageResourceType = typeof(Resources.ErrorMessages)]

我不断收到该错误消息,除非我将ErrorMessageResourceName替换为“Required”而不是Resources.ErrorMessages.Required.

任何人都可以告诉我,如果我这样做的话吗?

解决方法

是的,你最后做的事情基本上是正确的. ErrorMessageResourceName采用名称所暗示的名称,即资源的名称,而不是资源本身.

Resources.ErrorMessages.Required指向实际(本地化)错误消息(资源).资源的名称只是“必需”,资源管理器的类型(用于ErrorMessageResourceType)是包含该资源的类,在本例中是Resources.ErrorMessages类.

所以你的声明应该是这样的:

[Required(ErrorMessageResourceType = typeof(Resources.ErrorMessages),ErrorMessageResourceName = "Required")]
public string Something { get; set; }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读