属性DisplayFormatAttribute.ConvertEmptyStringToNull的默认值为true.我想将它默认为整个网站的假(或者通过类或页面也是好的).有没有办法可以做到这一点所以我不需要用以下内容装饰每个测试表单字段:
[DisplayFormat(ConvertEmptyStringToNull=false)]
Run Code Online (Sandbox Code Playgroud)
Pau*_*aul 15
您可以像这样创建自己的自定义模型元数据提供程序:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
然后在app_start中注册:
ModelMetadataProviders.Current = new CustomModelMetadataProvider();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2044 次 |
| 最近记录: |