L'expression régulière utilisée dans la méthode deserialize ASP.net AJAX recherche une chaîne qui ressemble à «/Date (1234)/» (La chaîne elle-même en fait doit contenir les guillemets et les barres obliques). Pour obtenir une telle chaîne, vous devrez échapper les caractères de citation et de barre oblique, de sorte que le code javascript pour créer la chaîne ressemble à "\" \/Date (1234) \/\ "".
Cela fonctionnera.
Sys.Serialization.JavaScriptSerializer.deserialize("\"\\/Date(1221644506800)\\/\"")
Il est un peu bizarre, mais je l'ai trouvé que je devais sérialiser une date, puis sérialiser la chaîne retournée de cela, désérialiser puis sur le côté client une fois.
Quelque chose comme ça.
Script.Serialization.JavaScriptSerializer jss = new Script.Serialization.JavaScriptSerializer();
string script = string.Format("alert(Sys.Serialization.JavaScriptSerializer.deserialize({0}));", jss.Serialize(jss.Serialize(DateTime.Now)));
Page.ClientScript.RegisterStartupScript(this.GetType(), "ClientScript", script, true);
Utilisez-vous jQuery peut-être? Vérifiez mon billet de blog pour convertir automatiquement les dates afin que vous n'ayez pas à le faire manuellement. http://erraticdev.blogspot.com/2010/12/converting-dates-in-json-strings-using.html –
Voir mes commentaires ci-dessous. Le code de votre blog échoue aux dates antérieures à l'époque. –