asp.net-mvc – 可以在运行时更改数据注释吗? (ASP.NET MVC的[R
发布时间:2020-12-15 23:54:34 所属栏目:asp.Net 来源:网络整理
导读:通常,类成员的ModelBinding验证可能就像这个例子一样: public Class someclass{ [StringLength(50)] public string SomeValue { get; set; }} SomeValue最多限制为50个字符. 是否可以在运行时将常量(50)更改为其他内容,例如,在构造该类的每个实例期间,以便
通常,类成员的ModelBinding验证可能就像这个例子一样:
public Class someclass { [StringLength(50)] public string SomeValue { get; set; } } SomeValue最多限制为50个字符. 是否可以在运行时将常量(50)更改为其他内容,例如,在构造该类的每个实例期间,以便可以使用具有不同StringLength限制的不同实例? 如果是这样,那怎么做呢? 解决方法
是.但唯一的方法是创建自己的DataAnnotationsModelValidatorProvider实现,然后在Global.ascx.cs中注册它.你不能简单地在运行时删除属性但是中断读取它们的MVC内部:
public class ConventionModelValidatorProvider : DataAnnotationsModelValidatorProvider { protected override IEnumerable<ModelValidator> GetValidators(ModelMetadata metadata,ControllerContext context,IEnumerable<Attribute> attributes) { List<Attribute> newAttributes = new List<Attribute>(attributes); if( mycondition == true ) { //get rid of the existing attribute newAttributes.Remove(newAttributes.OfType<StringLengthAttribute>().First()); //add a new one newAttributes.Add( new StringLengthAttribute(5324)); } return base.GetValidators(metadata,context,newAttributes); } } 寄存器: ModelValidatorProviders.Providers.Clear(); ModelValidatorProviders.Providers.Add( new CustomValidatorProvider() ); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – System.Web.MVC.UpdateModel可以更新EF导航
- ASP.NET 2中的ISO-8859-1到UTF8
- asp.net – 防止将父web.config继承到IIS 7.5上的子应用程序
- asp.net – 作为Windows服务托管的c#WCF Restful Web服务的
- asp.net – 将下拉列表的选定值传递给aspx中的参数
- asp.net – 如何在没有phsyical .ASMX文件的情况下实现WebS
- 经典ASP中的会话
- entity-framework – 为什么ASP.NET SPA模板会为所有请求实
- asp.net – 干净的方式来防止输入按钮提交表单
- asp.net-mvc – 依赖注入和ASP.Net成员提供程序
推荐文章
站长推荐
- asp.net-mvc – 在IE中清除cookie后,保持用户登录
- asp.net-mvc-3 – Paypal Sandbox MVC3
- 通过缓存,ThreadStatic等降低ASP.NET中的初始化频
- 通过ASP.NET Web应用程序上载500MB文件
- MVC 5远程验证
- ASP.NET VNext类库System.Runtime.Serialization
- asp.net – 有谁知道Razor,Spark和NVelocity视图
- asp.net-mvc – Asp.Net MVC Html助手扩展
- asp.net – Web.config – 自定义错误页面无效
- asp.net-mvc – 重置asp.net mvc路由而不重置应用
热点阅读