DateTime日期的Html帮助程序仅使用本地化

时间:2017-10-05 09:37:26

标签: html asp.net-mvc date datetime razor

我搜索了一个问题的答案,该问题是关于如何在Razor ASP MVC中创建一个配备自定义日期选择器的仅限日期输入。 问题的核心是我还在我的应用中实施了本地化

首先我将属性添加到模型中的参数:

[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]

当切换应用程序的语言时,这会导致麻烦,因为格式只对一种语言有效。

第二种方法是为模型类添加另一个属性:

[DataType(DataType.Date)]

有了这个,我实现了Chrome / Opera / Vivaldi提供了一个浏览器集成日期选择器。

<input type="date"/>

但是,这不能正常工作,因为它使用的是浏览器语言而不是用户选择的语言。因此,服务器需要以不同格式发布日期。所以验证失败了。另一方面,好的旧IE显示简单的输入字段,其内部格式正确。

第三种方法使用ToShortDateString()函数将DateTime对象转换为HTML帮助器中的本地字符串:

@Html.EditorFor(model => model.ConstructionStart_PLANNED.ToShortDateString(), new { htmlAttributes = new { @class = "form-control" } })

结果为例外。

非常感谢任何帮助。

0 个答案:

没有答案