C# HTML5输入类型日期未从ASP.NET Core 1.1中的控制器加载日期值

C# HTML5输入类型日期未从ASP.NET Core 1.1中的控制器加载日期值,c#,asp.net,asp.net-mvc,html,razor,C#,Asp.net,Asp.net Mvc,Html,Razor,我试图将今天的日期加载到Core1.1中的HTML5日期输入类型中,但是当我在控制器中设置今天的日期时,我在页面上的控制台中遇到以下错误 指定的值“9/3/2017 12:00:00 AM”不符合要求的格式“yyyy-MM-dd” AddWorkOrder.cshtml <div class="form-group"> <b>Issue Date:</b> @Html.TextBoxFor(Model => Model.NewWorkOr

我试图将今天的日期加载到Core1.1中的HTML5日期输入类型中,但是当我在控制器中设置今天的日期时,我在页面上的控制台中遇到以下错误

指定的值“9/3/2017 12:00:00 AM”不符合要求的格式“yyyy-MM-dd”

AddWorkOrder.cshtml

<div class="form-group">
    <b>Issue Date:</b>
    @Html.TextBoxFor(Model => Model.NewWorkOrder.workOrderIssueDate, new { @class = "form-control", @type = "date", @value = Model.NewWorkOrder.workOrderIssueDate.ToString("yyyy-MM-dd") })
    @Html.ValidationMessageFor(Model => Model.NewWorkOrder.workOrderIssueDate, "", new { @class = "valColor" })
</div>

我已尝试将教科书的值设置为
@value=DateTime.Today.ToString(“yyyy-MM-dd”)
,并且也不会加载日期。

您可以使用如下数据格式属性发布正确格式的日期:

@Html.TextBoxFor(Model => Model.NewWorkOrder.workOrderIssueDate, "{0:yyyy-MM-dd}", new { @class = "form-control", @type = "date" })

您可以使用如下数据格式属性发布正确的格式日期:

@Html.TextBoxFor(Model => Model.NewWorkOrder.workOrderIssueDate, "{0:yyyy-MM-dd}", new { @class = "form-control", @type = "date" })

我有一个非常类似的问题,但我有一个线索,因为我的输入表上有两个日期,一个在工作,而另一个没有。我非常困惑,因为HTML和Razor标记完全相同。然后我注意到,对于未按预期工作的日期,我在模型wtih中修饰了属性

[DataType(DataType.Date)]
但为了正确地发挥作用,我将其装饰为

[DataType(DataType.DateTime)]

一旦我把它们都改为DateTime,错误就消失了。我并不假装理解为什么

我遇到了一个非常类似的问题,但我有一个线索,因为我的输入表单上有两个日期,一个在工作,另一个没有。我非常困惑,因为HTML和Razor标记完全相同。然后我注意到,对于未按预期工作的日期,我在模型wtih中修饰了属性

[DataType(DataType.Date)]
但为了正确地发挥作用,我将其装饰为

[DataType(DataType.DateTime)]

一旦我把它们都改为DateTime,错误就消失了。我并不假装理解为什么

您是否尝试将
workordersuedate
属性设置为
string
并将
DateTime.Today
转换为如下字符串
workOrderVm.NewWorkOrder.workordersuedate=DateTime.Today.ToString(“yyyy-MM-dd”)?我有多个日期字段,它们都是MSSQL数据库表中的日期时间。如果可能的话,我希望将它们保留为DateTime,以便我数据库中的所有字段都不是字符串。您是否尝试将
workordersuedate
属性设置为
string
,并将
DateTime.Today
转换为如下字符串
workOrderVm.NewWorkOrder.workordersuedate=DateTime.ToString(“yyyy-MM-dd”);
?我有多个日期字段,它们都是MSSQL数据库表中的DateTime。如果可能,我希望将它们保留为DateTime,以便数据库中的所有字段都不是字符串。尝试此操作后,visual Studio中的
@data format=“yyy-MM-dd”
出现错误当前上下文中不存在名称“format”。无效的匿名类型成员声明符。必须使用成员参数、简单名称或成员访问权限声明匿名类型成员。“您知道时间的格式吗?它没有加载时间,并且具有类似的错误,指定值“14:29:45.9712712”不符合所需格式。格式为“HH:mm”、“HH:mm:ss”或“HH:mm:ss.SSS”其中HH为00-23,mm为00-59,ss为00-59,SSS为000-999
@Html.TextBoxFor(Model=>Model.NewWorkOrder.workOrderProcessTime,new{@class=“form control”,@type=“time”})
找到了它,它是
{0:hh\\\\:mm}
尝试了这个,在visual Studio中的
@data format=“yyyy-mm-dd”
上出现了一个错误“当前上下文中不存在名称“format”。无效的匿名类型成员声明符。必须使用成员参数、简单名称或成员访问权限声明匿名类型成员。“您知道时间的格式吗?它没有加载时间,并且具有类似的错误,指定值“14:29:45.9712712”不符合所需格式。格式为“HH:mm”、“HH:mm:ss”或“HH:mm:ss.SSS”其中HH为00-23,mm为00-59,ss为00-59,SSS为000-999
@Html.TextBoxFor(Model=>Model.NewWorkOrder.workOrderProcessTime,new{@class=“form control”,@type=“time”})
算出了,它是
{0:hh\\\:mm}