Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 日期时间并不总是设置好_C#_Asp.net Mvc_Datetime - Fatal编程技术网

C# 日期时间并不总是设置好

C# 日期时间并不总是设置好,c#,asp.net-mvc,datetime,C#,Asp.net Mvc,Datetime,我有一个C#ASP.NET MVC项目。该项目有一个表单,以yy/mm/dd hh:mm格式提交日期时间。控制器具有接收表单值的模型绑定 datetime属性声明如下: public DateTime? aDate { get; set; } public DateTime? bDate { get; set; } 使用Chrome开发工具,我已经确认总是发送DateTime值。 但是,有时会设置aDate/bDate属性,有时则不会 我一直未能观察到导致这种情况的发送日期中有任何一致的行

我有一个C#ASP.NET MVC项目。该项目有一个表单,以
yy/mm/dd hh:mm
格式提交日期时间。控制器具有接收表单值的模型绑定

datetime
属性声明如下:

public DateTime? aDate { get; set; }

public DateTime? bDate { get; set; } 
使用Chrome开发工具,我已经确认总是发送
DateTime
值。 但是,有时会设置
aDate
/
bDate
属性,有时则不会

我一直未能观察到导致这种情况的发送日期中有任何一致的行为或模式。有时其中一个被设置好了,而另一个没有

如果模型中的所有其他属性对应的表单元素具有值,则始终设置这些属性


这可能是什么原因造成的?

我不这么认为,您必须在模型级别将DateTime标记为空。把它当作日期时间。当日期不能在表单级别提供时,它将自动转换为您可以在后端完美处理的等价物。

不要使用该格式。使用ISO8601格式,与Javascript使用的格式相同。您使用的格式可以以任何可以想象的方式进行解析,特别是因为一年只使用两位数字。谁说前两位数是一年而不是一天?特别是今天,2019年3月21日?19年3月21日<代码>是什么意思?鉴于应用程序的区域设置,发送到应用程序的字符串很可能无效,并且绑定器拒绝Javascript中的iTunes。在HTML中,确保您提交的是值,而不是来自您使用的日期选择器的文本。例如,检查元素的文档。日期的格式为YYYY-MM-DD我尝试了此格式,我使用了以下格式字符串-yyy-MM-ddThh:MM:ss.ffffffff它不起作用。如何尝试?哪里表单代码是什么样子的?它是如何提交的?我的datepicker使用input type=“text”我已经检查了提交的字符串,并且每次都是正确的,即使服务器无法设置日期。这不是我想做的事情,因为如果没有nullable标记,dateTime将获得一个默认值,显示在我的视图中(我需要一个硬编码的if语句来阻止这一切)但是我还是尝试了这个建议,但没有成功