加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 00:14:15 所属栏目:asp.Net 来源:网络整理
导读:我在QueryString中以值:3/1/2012开始更新 DateTime.Parse(Request.QueryString [“startdate”]).月返回月份数:1 但在我的控制器中我有动作索引(DateTime startDate)和startDate.Month返回3 是否有人可以解释为什么日期绑定不能按预期工作? 顺便说一句,我
我在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,其中详细介绍了这一点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读