Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.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# NET核心MVC中的可空Datetime_C#_Datetime_.net Core_Asp.net Core Mvc - Fatal编程技术网

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"
    })