您可以创建自己的自定义模型元数据提供程序是这样的:
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();
你使用的是什么版本的MVC? – Paul
MVC 3.我留下标签通用的情况下,多个版本可以从这个问题中受益 – Brettski