net core 3.1 mvc string接收为null解决方案


1、添加类

public class CustomMetadataProvider : IMetadataDetailsProvider, IDisplayMetadataProvider
    {
        public void CreateDisplayMetadata(DisplayMetadataProviderContext context)
        {

            if (context.Key.MetadataKind == ModelMetadataKind.Property
                || context.Key.MetadataKind == ModelMetadataKind.Parameter
                || context.Key.MetadataKind == ModelMetadataKind.Type)
            {

                context.DisplayMetadata.ConvertEmptyStringToNull = false;
            }
        }
    }

2、注册

services.AddControllersWithViews(options => options.ModelMetadataDetailsProviders.Add(new CustomMetadataProvider()))
C