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 字段

ASP.NET MVC,使用可点击项实现 MVC-Grid

ASP.NET MVC 视图引擎比较

ASP.NET MVC 5 中的路由可选参数

ASP.NET MVC - JQuery - 验证可编辑表列的唯一值