ASP.NET MVC 下UpdateModel可空未填写的参数为Null,为何不是空字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET MVC 下UpdateModel可空未填写的参数为Null,为何不是空字符串相关的知识,希望对你有一定的参考价值。
查了好久,终于收到原因:
if (bindingContext.ModelMetadata.ConvertEmptyStringToNull && Object.Equals(value, String.Empty)) { return null; }
当Model的元数据ConvertEmptyStringToNull为true,并且form的值为空字串时,返回null.
解决办法就是要在Model的相关属性上设置[DisplayFormat(ConvertEmptyStringToNull = false)]
----------------------------------------
2个解决办法 1.model的属性上增加Attribute
[DisplayFormat( ConvertEmptyStringToNull = false )] public string Name { get; set; }
2.定义模型绑定类
以上是关于ASP.NET MVC 下UpdateModel可空未填写的参数为Null,为何不是空字符串的主要内容,如果未能解决你的问题,请参考以下文章
MVC3 - UpdateModel ...如何更改传入数据?
MVC2 在 UpdateModel() 中抛出 InvalidOperationException,试图更新 id 字段