Регулярное выражение, используемое в методе десериализации ASPJ AJAX, ищет строку, которая выглядит как «/ Date (1234) /» (сама строка должна содержать кавычки и косые черты). Чтобы получить такую строку, вам понадобится экранировать кавычки и символы обратной косой черты, поэтому код JavaScript для создания строки выглядит как "\" \ / Date (1234) \ / \ "".
Это будет работать.
Sys.Serialization.JavaScriptSerializer.deserialize("\"\\/Date(1221644506800)\\/\"")
Это немного странно, но я обнаружил, что мне нужно сериализовать дату, затем сериализовать возвращаемую строку, а затем десериализовать на стороне клиента один раз.
Примерно так.
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);