【问题标题】:MVC3 json Deserialize Date passed to a List in the ControllerMVC3 json反序列化日期传递给控制器​​中的列表
【发布时间】:2012-06-12 07:54:57
【问题描述】:

在视图中,我发送这样编码的模型:

var model = '@Html.Raw(Json.Encode(Model))';

到一个控制器动作。该模型是一个电影列表,每部电影都包含一个发布日期日期。 这是控制器动作方法

[HttpPost]
    public void createDoc(IEnumerable<Movie> movies)
    {
        //blablabla ...
        String date = "Date:" + movies.ElementAt(i).ReleaseDate + " ";
        //print date into a file
    }

当我打印日期时,它被打印为 Date:01/01/0001 00:00:00 传递的序列化数据显示为警报,并打印如下: "/日期(1070233200000)/"

在 createDoc 控制器操作中收到电影列表,我认为问题出在开始:它以错误的格式保存日期,所以我无法做任何事情来解析它。 我的日期属性模型电影是:

[DataType(DataType.Date)]
public DateTime ReleaseDate { get; set; }

我是否必须更改模型类中的某些内容才能以正确的格式存储数据,将其从 View post 传递到 Controller Action,或者我可以在发送或接收 json 数据之前做些什么来解析它? 谢谢。

【问题讨论】:

标签: asp.net-mvc json datetime date jquery


【解决方案1】:

在您的操作方法中,您将日期值分配给 String 类型,所以为什么不使用 string.Format... 类似的东西:

String date = string.Format("Date: {0:dd MM yyyy}", movies.ElementAt(i).ReleaseDate)

【讨论】:

  • 没用。好像我已经在列表中列出了日期错误的电影。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-04
  • 1970-01-01
  • 2016-10-13
  • 2020-02-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多