Đây là mã jQuery của tôi:Đi qua một ngày với JSON để 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)
{
//
}
}
});
}
Lúc đầu, tôi chỉ thiết lập MessageDate thành một chuỗi đó là trong một định dạng ngày tháng, nhưng sau khi một số lỗi ở đó, tôi đã làm một số nghiên cứu và có vẻ như tôi cần phải vượt qua trong Ticks. Nhưng tôi nhận được lỗi sau:
Đã xảy ra lỗi khi deserializing đối tượng thuộc loại Models.MessageModel. Giá trị '634185025866884281' không thể được phân tích như kiểu 'DateTime'
Tôi cũng đã thử:
MessageDate: "\\/Date(<%= DateTime.Now.Ticks %>)\\/",
nhưng tôi nhận được thông báo lỗi này:
Có lỗi deserializing các đối tượng của loại Models.MessageModel. Nội dung Ngày giờ '/ Ngày (634185027273624742) /' không bắt đầu bằng '/ Ngày (' và kết thúc bằng ') /' theo yêu cầu đối với JSON.
Tôi cần làm gì để làm việc này?
EDIT: Tôi đang sử dụng này để deserialize yêu cầu 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);
}
}
Hành động 'SaveMessage' của bạn bằng cách sử dụng để deserialize yêu cầu JSON là gì? –
Tôi đã chỉnh sửa bản gốc của mình, nó hiển thị ở trên ngay bây giờ. – Steven