如何修剪()所有输入由C#MVC中的模型

参见英文答案 > ASP.NET MVC: Best way to trim strings after data entry. Should I create a custom model binder?9个
我发现所有通过Model传递的值都没有在ASP.net MVC3中修剪

有办法吗

>在Model中的每个字段上应用一个trim()(所有字符串字段至少为;但所有表单字段都是由Model处理之前的字符串,因此更好地修整它们)
>必须在ModelState.IsValid()之前(因为我经常发现代码卡在奇怪的ModelState.IsValid,后来发现因为窗体项没有被修剪.)

谢谢.

解决方法

您必须创建一个自定义模型binder来修剪任何一个字符串的模型属性.

参考文献:
Custom model binding using IModelBinder in ASP.NET MVC
Iterating on an ASP.NET MVC Model Binder
6 Tips for ASP.NET MVC Model Binding
A Better Model Binder

基本上你可以采取以下两种方法之一:

>实现IModelBinder界面
> DefaultModelBinder类的子类

public class StringTrimmingBinder : DefaultModelBinder
{
    public override object BindModel(ControllerContext controllerContext,ModelBindingContext bindingContext)
    {
        // trim your string here and act accordingly

        // in the case the model property isn't a string
        return base.BindModel(controllerContext,bindingContext);
    }
}

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...