DateTime数据注释在ASP.NET Core RC2应用程序中不起作用

如果我将数据注释添加到我的viewmodel,则DateTime字段的值始终为{1/1/0001 12:00:00 AM}.

视图模型

public class EditReleaseviewmodel : Baseviewmodel
{
        [display(Name = "ReleaseDate",ResourceType = typeof(SharedResource))]
        [displayFormat(ApplyFormatInEditMode = true,DataFormatString = "{0:dd.MM.yyyy HH:mm}")]
        [required(ErrorMessageResourceName = "Fieldrequired",ErrorMessageResourceType = typeof(SharedResource))]
        public DateTime ReleaseDate { get; set; }
}

控制器非常简单,如果我删除数据注释并使用认一切正常.

调节器

[HttpPost]
        [ValidateAntiForgeryToken]
        public async Task<IActionResult> Edit(EditReleaseviewmodel viewmodel)
        {
            if (ModelState.IsValid)
            {
                ...
            }
        }

视图

<div class="form-group col-sm-12 col-md-6 col-lg-4">
            <label asp-for="ReleaseDate" class="col-md-3 control-label"></label>
            <div class="col-md-9">
                <input asp-for="ReleaseDate" class="form-control" />
                <span asp-validation-for="ReleaseDate" class="text-danger" />
            </div>
        </div>

它是一个ASP.NET核心MVC RC2应用程序 – 也许我在那里缺少一些东西.

解决方法

将DateTime更改为DateTime?在你的模型中.

相关文章

本文将从上往下,循序渐进的介绍一系列相关.NET的概念,先从...
基于 .NET 的一个全新的、好用的 PHP SDK + Runtime: Pe...
.NET 异步工作原理介绍。
引子 .NET 6 开始初步引入 PGO。PGO 即 Profile Guided Opti...
前言 2021/4/8 .NET 6 Preview 3 发布,这个版本的改进大多来...
前言 开头防杠:.NET 的基础库、语言、运行时团队从来都是相...