模型绑定DateTime空字符串为null

本文关键字:null 字符串 绑定 DateTime 模型 | 更新日期: 2023-09-27 18:03:27

我弄乱了html5日期输入字段。

<input type="date" >

我注意到,当你清除字段的值被设置为一个空字符串。因此,当您将此值发布到后端(ASP。. NET MVC)模型绑定器给出"字符串未被识别为有效的DateTime",而不是将其设置为null

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

模型示例:

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

Ctrl的例子:

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

模型绑定DateTime空字符串为null

DateTime是一个值类型,它不能为null。你可以使用Nullable<T>结构体(DateTime?Nullable<DateTime>)来保存空值。

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