手机版

Asp.net MVC对所有用户输入的字符串字段做附加装饰处理的方法

时间:2021-09-04 来源:互联网 编辑:宝哥软件园 浏览:

经常需要对用户输入的数据在插入数据库或者判断之前做附加装饰处理,针对每个视图模型的字段各自做处理是我们一般的想法。最近调查发现其实也可以一次性实现的。

MVC4.6中实现方式

1,实现IModelBinder接口,创建自定义ModelBinder。

公共类TripMoodLebinder : iModelbinder {公共对象绑定模型(控制器上下文控制器上下文,ModelBindingContext绑定上下文){ var值结果=绑定上下文.价值提供者。GetValue(绑定上下文.车型名称);字符串尝试值=值结果?尝试值;返回字符串IsNullOrWhiteSpace(尝试值)?调度值:调度值trim();} }2,添加ModelBinder到手动音量调节的绑定库。

受保护的void Application _ Start(){//System .网络。MVC。模型活页夹粘合剂。defaultbinder=新型活页夹.trimodelbinder();系统网络。MVC。模型绑定。粘合剂。添加(类型(字符串),新的模型活页夹.trimodelbinder());区域注册套索();FilterConfig .RegisterGlobalFilters(全局筛选器。过滤器);路由图。注册路由(路由表。路线);BundleConfig .注册捆绑包(BundleTable .捆绑包);}3,确认一下效果

将密码后面的空格做附加装饰处理,绑定到视图模型的时候变成一了:

Asp.net核心1.1 MVC中实现方式

1,自定义ModelBinder并继承ComplexTypeModelBinder

公共类修剪模型绑定器:复杂类型模型绑定器{公共修剪模型绑定器(IDictionary属性绑定器):基(属性绑定){受保护的覆盖无效集属性(模型绑定上下文,字符串模型名称,模型元数据属性元数据,模型绑定结果结果){ var值=结果.模型为字符串;结果=字符串IsNullOrWhiteSpace(值)?结果: ModelBindingResult .成功(价值trim());基地SetProperty(bindingContext,modelName,propertyMetadata,result);} }2,为ModelBinder添加自定义供应者

公共类TripMoodelBinderprovider : IModelBinderprovider { public IModelBinder GetBinder(MoodelBinderproviderContext){ if(context .元数据。是一个复杂的类型!语境。元数据。IsCollectionType){ var属性binders=new Dictionary();for(int I=0;一。背景。元数据。属性。计数;i ) { var property=context .元数据。属性[一];属性绑定.添加(属性,上下文CreateBinder(属性));}返回新的修剪模型绑定器(物业粘合剂);}返回null} }3,将供应者添加到绑定管理库

服务AddMvc().AddMvcOptions(s={ s . ModelBinderProviders[s . ModelBinderProviders。花点时间(p=!(p是ComplexTypeModelBinderProvider)).count()]=new TripModelbinderProvider();});4,确认一下效果

将密码后面的空格做附加装饰处理,绑定到视图模型的时候变成一了:

以上所述是小编给大家介绍的Asp.net最有价值球员对所有用户输入的字符串字段做附加装饰处理的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

版权声明:Asp.net MVC对所有用户输入的字符串字段做附加装饰处理的方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。