Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有可配置值的DataAnnotation?_C#_Asp.net Mvc - Fatal编程技术网

C# 具有可配置值的DataAnnotation?

C# 具有可配置值的DataAnnotation?,c#,asp.net-mvc,C#,Asp.net Mvc,我想将视图模型上的DataAnnotation设置为可通过web.config配置的动态值。在下面的示例中,我得到了这个错误“属性参数必须是常量表达式、typeof表达式或属性参数类型的数组创建表达式”。有人知道这是否可能吗?谢谢 [DataType(DataType.Password)] [RegularExpression(Properties.Settings.Default.PasswordExpression)] public string Password { get; set; }

我想将视图模型上的DataAnnotation设置为可通过web.config配置的动态值。在下面的示例中,我得到了这个错误“属性参数必须是常量表达式、typeof表达式或属性参数类型的数组创建表达式”。有人知道这是否可能吗?谢谢

[DataType(DataType.Password)]
[RegularExpression(Properties.Settings.Default.PasswordExpression)]
public string Password { get; set; }

属性参数必须是常量,也就是说,其值可以在编译时解析。但您可以编写自己的简单属性类,该类采用appSettings中项目的名称,获取基础值,并将其传递给正常的RegularExpression处理。那么您的属性将如下所示:

[ConfigedRegularExpression("PasswordExpression")]
其中PasswordExpression是包含实际正则表达式字符串的应用程序设置的名称

在写了这篇文章并进行了搜索(我应该先这样做)之后,我看到有人在这里为您解决了这个问题:


hi@NullReference,我刚刚讨论了你的问题,没有得到什么是“Properties.Settings.Default.PasswordExpression”。您从何处获取此值?web.config?