在MVC 3中,如何使默认模型绑定器将空字符串视为“空”而不是“空”?

时间:2011-10-13 23:09:30

标签: asp.net-mvc poco model-binding

我正在使用实体框架代码优先与POCO进行数据库交互。我有一个可选的字段叫做“标题”。

当我从表单中获取对象时,默认模型绑定器会自动使“Title”为null而不是空。

如何让模型绑定器返回空字符串而不是null?

感谢您的帮助

2 个答案:

答案 0 :(得分:10)

旧问题,但在MVC4中,您可以将其添加到您的POCO属性中:

[DisplayFormat(ConvertEmptyStringToNull = false)]

答案 1 :(得分:5)

您正在请求非标准行为,因此您需要非标准解决方案。 扩展默认模型绑定器,覆盖其CreateModel方法 - 针对特定情况执行所需操作,并为其他人返回base.CreateModel。

不要忘记在应用程序启动时将其注册为默认模型绑定程序。