模型将DateTime的空字符串绑定为null

时间:2014-05-15 14:58:55

标签: c# asp.net asp.net-mvc datetime

我在搞乱html5日期输入字段。

<input type="date" >

我注意到当你清除字段时,该值被设置为空字符串。因此,当您将此值发布到后端(ASP.NET MVC)时,模型绑定器会提供&#34; 字符串未被识别为有效的DateTime &#34;而不是仅将其设置为null

所以我想知道告诉模型绑定器最简单的方法是当字段类型是DateTime时,应该将空字符串解析为null。

模型示例:

public class MyModel
{
    public DateTime? MyDate { get; set; }
}

Ctrl示例:

public void Post(MyModel model)
{
    ...
}

1 个答案:

答案 0 :(得分:2)

DateTimevalue type,它不能保留null。您可以使用Nullable<T> struct(DateTime?Nullable<DateTime>)来保存空值。

public class MyModel
{
    public Nullable<DateTime> MyDate { get; set; }
}