Wstęp:ASP.NET Parse DateTime wynik od ajax wywołanie javascript data
Mam WebMethod
na mojej stronie ASP.NET, która zwraca Person
obiekt. Jednym z pól jest Birthday
, który jest własnością DateTime
.
WebMethod
[WebMethod]
public static Person GetPerson()
{
Person p = new Person() {
Id = 1,
Name = "Test",
Birthday = new DateTime(1988, 9, 13)
};
return p;
}
Jeśli zrobię wezwanie użyciu $.ajax()
uzyskać odpowiedź serwera z obiektem Person
.
Ajax wywołanie
// Class instance
var Ajaxcalls = function() {
}
_$.extend(Ajaxcalls, {
GetPerson: function (label) {
var self = label instanceof _$ ? label : $(label);
_$.ajax({
url: 'Default.aspx/GetPerson',
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(JSON.stringify(data.d));
self.html(new Date(Date.parse(data.d.Birthday)));
}
});
}
});
Wynik:
{"__type":"AjaxTest.Classes.Person","Id":1,"Name":"Test","Birthday":"/Date(590104800000)/"}
Problem
Jak zrobić Przetwarzam Birthday
[/ Date (590104800000) /] na datę javascript/jQuery? Próbowałem new Date(Date.parse(data.d.Birthday))
, ale to daje mi Invalid date
.
spróbuj tego kodu w swoim webmethod Birthday = new DateTime (1988, 9, 13) .ToLongDateString(); –
Urodziny są typu DateTime, więc nie mogę ich przetworzyć na ciąg znaków – Mivaweb
Śledź ten [blog] (http://www.hanselman.com/blog/OnTheNightmareThatIsJSONDatesPlusJSONNETAndASPNETWebAPI.aspx) – chridam