我有一个 C# ASP.NET MVC 项目。该项目有一个以 yy/mm/dd hh:mm
格式提交日期时间的表单。 Controller 有一个模型绑定(bind)来接收表单值。
datetime
属性声明如下:
public DateTime? aDate { get; set; }
public DateTime? bDate { get; set; }
使用 Chrome 开发工具,我已确认 DateTime
值始终会被发送。
但是,有时会设置 aDate
/bDate
属性,有时不会。
我无法在发送的日期中观察到导致此问题的任何一致行为或模式。有时其中一个设置好而另一个不设置。
如果相应的表单元素具有值,模型中的所有其他属性总是会被设置。
这可能是什么原因造成的?
最佳答案
我不认为您必须在模型级别将 DateTime 标记为 null。只需将其作为 DateTime。当日期不会在表单级别提供时,它会自动转换为等同于您可以在后端完美处理的内容。
关于c# - 日期时间并不总是得到设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55281187/