MVC 4、C#。
在我的 Razor View 中,我有:
@Html.EditorFor(model => model.ActionObject.StartDate)
在我的模型中注释为:
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public System.DateTime? StartDate { get; set; }
在 View 中,它的设置如下,带有日期选择器:
注意它是 mm/dd/yyyy。如何根据用户动态更改此设置?用户可以将文化设置为他们想要的任何内容。
通常我可以这样做:
.ToString("d", culture)
文化是动态设置的。但这不适用于@Html.Editfor。
最佳答案
此日期选择器是 Google Chrome 中 HTML 5 输入类型日期的 native 表示形式。您无法更改此格式。显示格式来自用户操作系统中的文化/本地化配置。
如果您想根据需要设置其格式,请删除[DataType(DataType.Date)]
,呈现默认的输入字段,然后使用 JQuery UI DatePicker 或另一个渲染更好的日期字段的工具。
关于c# - 在 Razor @Html.EditorFor 中使用文化设置日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19283557/