我正在用 C# 编写 ASP.NET MVC3 应用程序,并发现调用Html.HiddenFor
在我看来会呈现DateTime
与我打电话时不同(且错误)Html.DisplayFor
.
它从中获取值的模型确实有一个 DisplayFormat 装饰器,这似乎适用于Html.DisplayFor
。有问题的属性写为:
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime MeetingStartDate { get; set; }
视图使用以下命令显示此内容:
@Html.DisplayFor(model => model.MeetingStartDate)
@Html.HiddenFor(model => model.MeetingStartDate)
DisplayFor 调用会将日期呈现为16/04/2012
然而 HiddenFor 会将其呈现为value="04/16/2012 00:00:00"
.
我尝试改变当前的文化来设定DateTimeFormat
但这没有效果。
当前的文化是 en-GB,因此无论如何它都不应该打印 en-US 日期。
如果您指定日期格式和 html 隐藏属性,则使用 TextBoxFor 的视图内替代方案将起作用。
@Html.TextBoxFor(model => model.CreatedDate, "{0:dd/MM/yyyy HH:mm:ss.fff}", htmlAttributes: new { @type = "hidden" })
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)