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

前端之家收集整理的这篇文章主要介绍了如何修剪()所有输入由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&C++相关文章