通过Form提交表单,服务器端以模型绑定的方式接收,如果控件中的值是空白字符串,则缺省的会转化成null,这样在做Trim操作时非常不方便。通过修改ProjectBase\Web.Mvc\DefaultModelBinder.cs,重载父类的BindModel方法能够实现不做这种转化。

public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
        {
            bindingContext.ModelMetadata.ConvertEmptyStringToNull = false;
            Binders = new ModelBinderDictionary() { DefaultBinder = this };
            return base.BindModel(controllerContext, bindingContext);
        }

即 将 bindingContext.ModelMetadata.ConvertEmptyStringToNull 的值由true改为 false。

posted on 2021-01-15 16:12  蒙蒙浮霁月  阅读(214)  评论(0编辑  收藏  举报