【发布时间】:2016-08-10 18:04:11
【问题描述】:
给定这个虚拟机
public class ApplicationDTO : BaseDTO
{
public DateTime Date { get; set; }
public int JobId {get;set;}
public int Status {get;set;}
[Required]
public string Message { get; set; }
public string ExpertCode { get; set; }
}
因此我有一个隐藏字段
@Html.Hidden("Date", DateTime.Now)
按照我的预期,哪个 fiddler 显示我被发送到服务器(英国格式,我在英国!)
但在控制器上,日期显示为默认最小值。日期
它只是英国格式吗?如果是这样,我最好的方法是什么?虽然目前我将其设置为当前日期,但可能它可以设置为任何给定的日期,即
@Html.HiddenFor(x => x.Date)
我正在使用 AJAX 提交表单,如果这有影响的话。
【问题讨论】:
-
发布还是获取?我相信Get。 Get MVC 使用文化不变格式(基本上是美国,但也接受 yyyy-mm-dd)。见这里stackoverflow.com/questions/4349589/…
-
你是对的,它是一个 GET。啊哈。所以听起来我需要设置文化。
-
不设置文化无济于事。 All Gets 使用文化不变格式,否则您无法传递查询字符串。如果你想避免这种行为,你必须编写一个自定义模型绑定器
标签: c# ajax asp.net-mvc datetime