DateTime不会在我的模型中绑定,但可以在FormCollection中解析

时间:2013-02-26 22:19:28

标签: asp.net asp.net-mvc c#-4.0 asp.net-mvc-4

这是新的东西:)

我的文化是'nl'(荷兰语),我想我的模型无法解析包含DateTime的字符串 - > (DateTime)formColl ['CreatedOn']不起作用。 DateTime.Parse(formcoll ['CreatedOn']虽然有效。

此外,在我看来,它是一个隐藏的字段。

@Html.HiddenFor(Model => Model.CreatedOn)

如果不手动添加转换,我将如何解决此问题(我怀疑这可以开箱即用)?

编辑: Chrome和Firefox似乎有所不同。使用Chrome时,转换功能不起作用,而使用Firefox则可以。 我在Chrome上的主要浏览器语言是:'en'(在设置中它是荷兰语,但在第三位:-S) 我在Firefox上的主要浏览器语言是:'nl'

在Chrome中 Empy model value : CreatedOn (Chrome) 有关chrome submitted value的更多信息 Filled in value in Formcollection -> Window information (Chrome) 在FireFox中 Screenshot with Firefox

1 个答案:

答案 0 :(得分:2)

  

(DateTime)formColl ['CreatedOn']不起作用。

这是完全正常的。您不能将字符串(formColl['CreatedOn']代表的字符串)强制转换为DateTime个实例。

您可以尝试在<globalization>元素的web.config中设置文化,看看这是否有所不同:

<globalization culture="nl-NL" uiCulture="nl-NL" />