zoukankan      html  css  js  c++  java
  • ajax post提交空字符串(string.Empty) MVC接收为null的问题

    ajax post提交空字符串(string.Empty) MVC接收为null的问题

    这个问题查了好多资料才知道原因:

    if (bindingContext.ModelMetadata.ConvertEmptyStringToNull && Object.Equals(value, String.Empty)) {   return null; }

    当Model的元数据ConvertEmptyStringToNull为true,并且form的值为空字串时,返回null.

    解决方法:

      1、给对应的属性加上特性

    [DisplayFormat(ConvertEmptyStringToNull = false)]

      2、覆写模型创建元数据的方法,

      

    public class EmptyStringDataAnnotationsModelMetadataProvider : DataAnnotationsModelMetadataProvider
        {
            protected override ModelMetadata CreateMetadata(IEnumerable<Attribute> attributes, Type containerType, Func<object> modelAccessor, Type modelType, string propertyName)
            {
                var modelMetadata = base.CreateMetadata(attributes, containerType, modelAccessor, modelType, propertyName);
                modelMetadata.ConvertEmptyStringToNull = false;
                return modelMetadata;
            }
        }

      并在Global.asax文件中进行设置

      

    ModelMetadataProviders.Current = new EmptyStringDataAnnotationsModelMetadataProvider();

    参考文章:

      1、https://stackoverflow.com/questions/12734083/string-empty-converted-to-null-when-passing-json-object-to-mvc-controller

      2、https://www.cnblogs.com/lonelyxmas/p/5558885.html

  • 相关阅读:
    day7随笔
    day6随笔
    day5笔记
    uniapp 全屏蒙版下的其他view禁止滑动
    uniapp scroll-view 组件右侧的滚动条
    uni 组件 头部
    根据两点的经纬度查询两点间的距离
    仅供学习使用的一些 相关vue类
    仅供学习使用的一些样式+行为
    百度地图简单调用
  • 原文地址:https://www.cnblogs.com/dansediao/p/8253114.html
Copyright © 2011-2022 走看看