如果我将数据注释添加到我的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?在你的模型中.