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

前端之家收集整理的这篇文章主要介绍了看起来像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,其中详细介绍了这一点.

猜你在找的asp.Net相关文章