【发布时间】:2011-07-04 16:01:50
【问题描述】:
作为测试,我使用 DateTime theDate 和 String theString 设置模型,并在控制器的 Index 方法中将它们都设置为 DateTime.Today。然后返回视图和模型。
然后有一个带有@model 的 2 个文本控件的视图,它们都显示为 04/07/2011(对于英国来说是正确的)。如果我然后使用提交按钮执行 HTTPGET , theDate 有 07/04/2011 并且 theString 有 04/07/2011。如果我做一个 POST,那么两个日期都是相同的 04/07/2011。
我检查了 CurrentCulture 和 CurrentUICulture,当两者都是 en-GB 时会发生这种情况。
任何想法,因为我真的想做一个 GET,因为一个 POST 在使用返回按钮时会导致问题
我见过 http://weblogs.asp.net/melvynharbour/archive/2008/11/21/mvc-modelbinder-and-localization.aspx ,但这并没有解决我的问题。
有些日期可能是“Post”,有些可能是“Get”,这导致日期从 GB 切换到 US,我不知道如何区分。
【问题讨论】:
-
您是否尝试将
[DisplayFormat(DataFormatString="{0:dd/mm/yyyy}")]属性添加到日期属性? -
我有同样的问题(但使用 pt-PT 而不是 en-UK)并且“DisplayFormat”没有解决我的问题。
标签: asp.net-mvc-3