gpt4 book ai didi

asp.net-mvc - 数据注释和资源不能很好地发挥作用

转载 作者:行者123 更新时间:2023-12-04 03:35:02 24 4
gpt4 key购买 nike

我在MVC2应用程序中使用数据注释,并且在尝试将RESX文件资源用于错误消息时有些气disc。

我尝试了以下操作,但始终收到异常“属性参数必须是属性参数类型的常量表达式,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-mvc - 数据注释和资源不能很好地发挥作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2451150/

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