c# - 如何在 ASP.NET Core 表单中填充日期字段
问题描述
编辑简单实体模型类时,日期字段值不会预先填充在编辑页面上。虽然编辑页面上的所有其他字段都预先填充了数据库中的实体值,但日期字段却没有。我已经签入了 SQL Server,并且详细信息页面也确认在创建实体实例时确实保存了日期。
如何在编辑表单中预先填充日期字段?
实体模型类中的日期字段
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:MMMM dd, yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Example date")]
public DateTime ExampleDate { get; set; }
Edit.cshtml 中的日期字段
<div class="form-group col-md-6">
<label asp-for="@Model.Project.ExampleDate" class="control-label"></label>
<input asp-for="@Model.Project.ExampleDate" value="@Model.Project.ExampleDate" class="form-control" />
<span asp-validation-for="@Model.Project.ExampleDate" class="text-danger"></span>
</div>
解决方案
解决方案1:
您可以尝试更改您Edit.cshtml
喜欢的以下内容。
<input asp-for="@Model.Project.ExampleDate" value="@Model.Project.ExampleDate.ToString("yyyy-MM-dd")" class="form-control" />
解决方案2:
您可以更改模型类,如下所示(删除代码ApplyFormatInEditMode = true
):
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:MMMM dd, yyyy}")]
[Display(Name = "Example date")]
public DateTime ExampleDate { get; set; }
推荐阅读
- .net - 让 DataAdapter 获取新版本的修改表
- javascript - 使用 ng-sidebar 作为 sidenav
- powershell - 安装 posh-git 时遇到问题
- android - 无法使用 Kotlin 将消息写入文件
- apache - Apache 上的 301 重定向:与 HTTP 冲突 => HTTPS 重写规则
- go - 多个 goroutine 和一个通道的死锁
- android - (Android)带有按钮和随机结果的微调器?
- database - 某学校管理系统的数据库结构(使用laravel实现webapp)
- javascript - 滑块上的 Javascript 按钮
- azure-devops - VSTS 警告:确保已注册测试发现者和执行者,并且平台和框架版本设置正确,然后重试