4

我有一个用 asp.net mvc 4 制作的网络应用程序

在 Global.asax 中,我添加了IsoDateTimeConverter

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();

    GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.Converters.Add(
        new IsoDateTimeConverter { DateTimeFormat = "dd-MM-yyyy hh:mm" });
}

我有一个 ActionResult

public ActionResult GetDate()
{
    DateTime dateTime = DateTime.Now;
    return Json(dateTime, JsonRequestBehavior.AllowGet);
}

但是,此 actionResult 返回以下内容:

"\/Date(1365060823129)\/"

我错过了什么?

4

1 回答 1

6

好吧,我相信您对最近很多人一直在使用的所有“不精确”命名感到有些困惑。(和一般的JsonFormatter格式化程序)由ASP.NET Web API使用。

您没有使用ASP.NET Web API,您使用的是ASP.NET MVC 4(这些是完全独立的技术)。

ASP.NET MVC 4中,序列化逻辑仍然在 with 内部完成JsonResultJavaScriptSerializer此处不应用格式化程序。

如果您想将Json.NET(及其IsoDateTimeConverter)与ASP.NET MVC 4一起使用,您仍然需要按照此处ActionResult所述创建自己的。

于 2013-04-04T09:03:10.313 回答