Angular JS com ligação ao modelo MVC4 falhando com date / datetime?
Ao usar o Angular JS para postar de volta para o servidor com um objeto complexo, o datetime e o datetime? valores não se ligam corretamente. Eu tentei JSON.stringify sem sucesso. Eu postei uma questão relacionada, embora possivelmente seja muito geral. O que eu realmente preciso saber é como passar corretamente essas datas. O que eu estou fazendo atualmente é usar a solução alternativa em js para converter as datas, mas eu prefiro não fazer isso e simplesmente obter as datas no formulário que eu preciso quando estiver em Angular e depois repassar os valores corretos.
Como você se liga a esses datetime / datetime? valores corretamente? Por favor, veja o exemplo de código a seguir e os resultados da postagem do Fiddler.
Classe C #:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime BirthDate { get; set; }
public DateTime? ApprovedForSomething { get; set; }
}
Controlador Angular JS:
function PersonController($scope, $http) {
$scope.getPerson = function () {
$http.get('../../Home/GetPerson/1').success(function (data) {
$scope.Person = data;
});
}
$scope.updateApprovedForSomething = function () {
$http.post('../../Home/UpdatePerson', { person: $scope.Person }).success(function (data) {
console.log(data);
});
}
}
Post do violinista:
HTTP / 1.1 200 OK Cache-Control: private Tipo de Conteúdo: application / json; charset = utf-8 Servidor: Microsoft-IIS / 8.0 X-AspNetMvc-Version: 4.0 X-ASPNet-Versão: 4.0.30319 X-SourceFiles:???? = UTF-8 B YzpcdXNlcnNcbmlja1xkb2N1bWVudHNcdmlzdWFsIHN0dWRpbyAyMDEyXFByb2plY3RzXFZhbGlkYXRpb25UZXN0XEhvbWVcR2V0UGVyc29uXDE = = X--Powered By: ASP.NET Data: Qua, 16 Jan 2013 14:48:34 GMT Content-Length: 124
{"Nome": "Bob", "Sobrenome": "Smith", "Data de nascimento": "/ Data (695573315098) /", "ApprovedForSomething": "/ Data (1358261315098) /"}
Este é o resultado no lado do servidor. O datetime se liga a um novo valor de data e hora que não está correto e o datetime? é nulo.