看起来像asp.net mvc中的日期工具不正确

我在QueryString中以值:3/1/2012开始更新

DateTime.Parse(Request.QueryString [“startdate”]).月返回月份数:1

但在我的控制器中我有动作索引(DateTime startDate)和startDate.Month返回3

是否有人可以解释为什么日期绑定不能按预期工作?

顺便说一句,我已经在web.config中有了文化:

<globalization uiCulture="en-GB" culture="en-GB"/>

解决方法

无论您在web.config中配置了哪种文化,认模型绑定程序在解析查询字符串值时始终使用InvarianCulture.

> GET => InvariantCulture的
> POST =>文化不可知论者

所以假设你有2个动作:

[HttpGet]
public ActionResult Foo(DateTime date)
{
    ...
}

[HttpPost]
public ActionResult Bar(DateTime date)
{
    ...
}

当您调用Foo操作时,应始终使用不变文化来格式化查询字符串中的日期,而当您调用Bar操作并在POST主体有效内容中传递date参数时,认模型绑定器将使用在你的web.config.

请查看following blog post,其中详细介绍了这一点.

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...