加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 05:55:00 所属栏目:百科 来源:网络整理
导读:参见英文答案 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()(所有字符串字段至少为;但所有表
参见英文答案 > 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);
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读