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

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – DataAnnotations和资源不能很好地发挥作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在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; }

猜你在找的asp.Net相关文章