gpt4 book ai didi

asp.net-mvc - 跨站点将 DisplayFormatAttribute.ConvertEmptyStringToNull 的默认值设置为 false

转载 作者:行者123 更新时间:2023-12-02 14:01:59 26 4
gpt4 key购买 nike

属性 DisplayFormatAttribute.ConvertEmptyStringToNull 的默认值为 true。我想将整个站点的默认值设置为 false(或者按类或页面也可以)。有没有办法可以做到这一点,这样我就不需要用以下内容装饰每个测试表单字段:

[DisplayFormat(ConvertEmptyStringToNull=false)]

最佳答案

您可以像这样创建自己的自定义模型元数据提供程序:

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

if (modelType == typeof(String))
modelMetadata.ConvertEmptyStringToNull = false;

return modelMetadata;
}
}

然后在您的 app_start 中注册它:

ModelMetadataProviders.Current = new CustomModelMetadataProvider();

关于asp.net-mvc - 跨站点将 DisplayFormatAttribute.ConvertEmptyStringToNull 的默认值设置为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7459560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com