c# - 在 Razor @Html.EditorFor 中使用文化设置日期格式

标签 c# asp.net-mvc asp.net-mvc-4 razor

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 中,它的设置如下,带有日期选择器:

date

注意它是 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/

相关文章:

c# - 使用 RIGHT JOINT 将两个表连接到一个数据 GridView 中

javascript - 调用 location.reload() 函数后,是什么导致表中的顺序或行发生变化

c# - 如何使用属性的依赖注入(inject)?

javascript - MVC4中是否可以通过选择单选按钮的文本来淡入淡出?

c# - 有条件地转义特殊的 xml 字符

c# - 尝试使用 UWP 和 C# 关闭时的错误代码

asp.net-mvc - Bootstrap 响应式侧菜单

c# - 如何在 ASP.NET MVC 4 中正确使用元组

asp.net-mvc-routing - 如何在MapHttpRoute中设置默认 namespace ?

c# - 我怎样才能执行我的应用程序的单个实例?