在C#中如何在属性的属性中添加动态值

时间:2011-10-26 11:11:50

标签: asp.net asp.net-mvc-3 entity-framework-4

我有以下代码块: -

using System.ComponentModel.DataAnnotations;
public class NewsItem
{            
        [RegularExpression(System.Configuration.ConfigurationSettings.AppSettings["UrlRegEx"], ErrorMessage = "Invalid link")]
        public string Url { get; set; }
}

返回错误“属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式”。

如何在RegularExpression属性的第一个参数中给出值。我想从Web.Config变量中给出值。我在EF的Model类中使用此代码。

1 个答案:

答案 0 :(得分:0)

您可以指向数据注释以从资源文件中选择值

请参阅ErrorMessageResourceName

OR

您可以编写自定义验证方法并从中选择值

请参阅CustomValidationAttribute

OR

您可以编写一个正则表达式派生属性类,该类可以从web.config中读取值。