基于AOP思想的ModelBinder的应用

      在程序的开发阶段,当前台与后台交互时,需要对某些接收的参数做特殊处理。比如,前端将字符串以表单或者是ajax的方式传到后台,有可能用户在输入的时候多输了空格或者是没有输入值,这样就需要在后台对字符串进行统一处理,处理的方式是如果不为null,那么去掉字符串前后的空格,如果为null,那么就给该字符串赋一个空字符串。这就需要为程序中的每一个与前台交互的方法都做这样的处理,非常的麻烦。那么能不能有一种只处理一个位置,就可以影响其他所有的相关的相互方法呢。可以采用AOP的思想,即.net提供了一个DefaultModelBinder类,只要继承这个类,然后重写该类中的BindModel方法即可。代码如下:

        通过重写BindModel方法,即可解决上述问题。其大概工作原理是,当前端与后台发生交互(submit或ajax)时,MVC框架会首先调用BindModel方法,对所传的参数进行处理。处理完毕后,在调用方法,然后将参数传递给方法中的接收参数。在本示例中,只针对字符串类型的参数进行处理,也就是说,如果参数是字符串类型,那么会进入BindModel方法,如果不是则不进入,配置方式如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值