ASP.NET MVC Json.Encode() DateTime problème de codage de chaîne pas de type date

Je vais avoir un problème avec le JavaScript qui est produite par ASP.NET MVC est System.Web.Helpers.Json.Encode() si le modèle comprend un DateTime propriété.

Mon Modèle:

public class MyViewModel
{
    public string MyString { get; set; }
    public DateTime MyDateTime { get; set; }
    public int MyInt { get; set; }
    public string[] MyStringArray { get; set; }
}

Mon Contrôleur:

public ActionResult Index()
{
    var myViewModel = new MyViewModel();
    myViewModel.MyString = "My test string";
    myViewModel.MyInt = 100;
    myViewModel.MyDateTime = DateTime.Now;
    myViewModel.MyStringArray = new string[] { "string 1", "string 2" };

    return View(myViewModel);
}

Mon Point De Vue:

<script type="text/javascript">

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

</script>

La Sortie:

<script type="text/javascript">

    var myViewModel = {"MyString":"My test string","MyDateTime":"\/Date(1372280916431)\/","MyInt":100,"MyStringArray":["string 1","string 2"]} ;

</script>

Le problème avec la façon dont la date est en cours de codage. C'est une chaîne et non un type de Date.

J'ai aussi essayé d'utiliser Newtonsoft.Json.JsonConvert.SerializeObject() et je reçois toujours une chaîne de caractères et non un type de Date.

OriginalL'auteur Aaron Hoffman | 2013-06-26