C# NET核心MVC中的可空Datetime
我有一个用于“创建”和“更新”数据库模型的视图。数据库模型的属性是C# NET核心MVC中的可空Datetime,c#,datetime,.net-core,asp.net-core-mvc,C#,Datetime,.net Core,Asp.net Core Mvc,我有一个用于“创建”和“更新”数据库模型的视图。数据库模型的属性是DateTime?(可为空)。现在,我尝试在ASP.NET核心MVC视图中使用此可为空的日期时间,该视图如下所示: @Html.TextBoxFor(model => model.MyNullableDate,"{0:dd.MM.yyyy}", new { placeholder = "dd.MM.yyyy", @class = "form-control form-control-sm", type = "date" })
DateTime?
(可为空)。现在,我尝试在ASP.NET核心MVC视图中使用此可为空的日期时间,该视图如下所示:
@Html.TextBoxFor(model => model.MyNullableDate,"{0:dd.MM.yyyy}", new { placeholder = "dd.MM.yyyy", @class = "form-control form-control-sm", type = "date" })
这对于“创建”过程非常有效。如果设置了日期,则会将其正确写入数据库。但是现在我想更新已经存在的数据库值model.MyNullableDate
我从数据库中读取该值,然后将该值再次传递给视图。属性MyNullableDate
设置正确,我在调试器中看到正确的日期被写入其中
但在视图中,没有显示任何内容。。。它只是一个空文本框,没有传入值MyNullableDate
该属性如下所示:
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}")]
[DataType(DataType.Date)]
public DateTime? MyNullableDate{ get; set; }
我做错了什么?如何在
文本框中显示MyNullableDate
的值 这与日期格式有关,而不是与可空性有关
看
显示的日期格式将不同于实际值-默认值
显示的日期根据用户浏览器的区域设置进行格式化,
但是解析的值总是格式化为yyyy-mm-dd
当我传递如下格式的时,显示的日期:)
这与日期格式有关,而不是与可空性有关
看
显示的日期格式将不同于实际值-默认值
显示的日期根据用户浏览器的区域设置进行格式化,
但是解析的值总是格式化为yyyy-mm-dd
当我传递如下格式的时,显示的日期:)
为什么占位符格式(mm/dd/yyyy
)与DataFormatString
(dd.mm.yyyy
)中使用的占位符格式不同?另外,您可能是指MM
而不是MM
为什么占位符格式(MM/dd/yyyy
)与DataFormatString
(dd.MM.yyyyy
)中使用的格式不同?另外,您可能是指MM
而不是MM
@Html.TextBoxFor(
expression: model => model.MyNullableDate,
format: "{0:yyyy-MM-dd}",
htmlAttributes: new
{
placeholder = "dd.MM.yyyy",
@class = "form-control form-control-sm",
type = "date"
})