Aquí está mi código jQuery:Pasar un día con JSON a .NET
function onSaveClicked()
{
var message =
{
MessageID: $("#MessageID").val() || 0,
MessageDate: "\/Date(<%= DateTime.Now.Ticks %>)\/",
};
$.ajax({
url: "<%= Url.Action("SaveMessage") %>",
type: "POST",
dataType: "json",
data: $.toJSON(message),
contentType: "application/json; charset=utf-8",
success: function(result) {
if (result && result.success)
{
//
}
}
});
}
Al principio, yo estaba poniendo MessageDate a una cadena que estaba en un formato de fecha, pero después de algunos errores allí, lo hice algunas investigaciones y parece que necesito pasar las Garrapatas. Pero me sale el siguiente error:
Hubo un error al deserializar el objeto del tipo Models.MessageModel. El valor '634185025866884281' no se puede analizar como el tipo 'DateTime'
También he intentado:
MessageDate: "\\/Date(<%= DateTime.Now.Ticks %>)\\/",
pero me da este mensaje de error:
Hubo un error al deserializar el objeto de tipo Models.MessageModel. El contenido de DateTime '/ Date (634185027273624742) /' no comienza con '/ Date (' y termina con ') /' según se requiera para JSON.
¿Qué debo hacer para que funcione?
EDIT: estoy usando este deserializar la solicitud JSON:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.HttpContext.Request.ContentType.Contains("application/json"))
{
var serializer = new DataContractJsonSerializer(RootType);
//RootType here is (Name = "MessageModel", FullName="Models.MessageModel")
filterContext.ActionParameters["message"] = serializer.ReadObject(filterContext.HttpContext.Request.InputStream);
}
}
¿Qué acción usa 'SaveMessage' para deserializar la solicitud JSON? –
Edité mi original, se muestra arriba ahora. – Steven