当我在编辑视图中使用以下代码时,它不会显示模型中的日期。
<input asp-for="OprettetDato" class="form-control"/>
模型的属性声明如下:
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0: dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime OprettetDato { get; set; }
并且值在模型中传递
为什么这不起作用?
答案 0 :(得分:9)
问题是你的模型属性上的属性[DataType(DataType.Date)]
使得输入标记帮助器生成type="date"
HTML属性,这在HTML5中会导致固定的标准格式 - 请参阅此处的信息:Is there any way to change input type="date" format? < / p>
要以正确的格式显示字段,删除 [DataType(DataType.Date)]
属性,您就可以了。
另外,为了使用日期格式的正斜杠,你需要像这样转义它们:
[DisplayFormat(DataFormatString = @"{0:dd\/MM\/yyyy}", ApplyFormatInEditMode = true)]
public DateTime OprettetDato { get; set; }
如果您想使用datepicker自定义日期格式,则需要使用一些自定义JavaScript解决方案。
答案 1 :(得分:0)
对我来说,这确实令人困惑,需要删除什么,不需要删除什么。我做了什么-
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public virtual DateTime CalledOn { get; set; }
视图,我输入的输入类型为“文本”,而不是datetime,date或datetime-local
<div class="form-group">
<label>@SharedLocalizer["CalledOnText"]:</label>
<div class="input-group date">
<input type="text" class="form-control" asp-for="CalledOn">
<div class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</div>
</div>
</div>
日期纠察队形式的引导程序
$(".date").datepicker({
format: 'dd/mm/yyyy'
});
答案 2 :(得分:0)
这是我的问题的解决方案
https://forums.asp.net/t/2167833.aspx?Date+control+is+not+showing+value+from+model
[DisplayFormat(ApplyFormatInEditMode = false, DataFormatString = "{0:dd/MM/yyyy}")]
ApplyFormatInEditMode = false