微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何修剪()所有输入由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);
    }
}

原文地址:https://www.jb51.cc/c/113392.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐