Ich verwende Angular JS, um Daten als JSON auf meinen MVC 4-Controller zu übertragen. Alle meine Eigenschaften werden korrekt konvertiert, außer DateTime / DateTime? Arten. Ich würde gerne einen "set it and vergeude it" -Ansatz für die Behandlung von Daten haben, so dass neue Klassen und oder Eigenschaften, die hinzugefügt werden, nicht daran denken müssen, eine spezielle Konvertierung durchzuführen, um ein Datum richtig zu behandeln. Ich habe die folgenden Ansätze und mögliche Nachteile gesehen. Welchen Ansatz nutzen die Leute für die gleiche Plattform? Gibt es etwas in MVC4, das das richtig behandelt, das ich vielleicht nicht konfiguriert habe? Irgendwelche Vorschläge werden sehr geschätzt.
Siehe das folgende Codebeispiel. C # -Klasse:
%Vor%Angular JS Controller:
%Vor%Fiddlers POST:
HTTP / 1.1 200 OK Cache-Kontrolle: privat Content-Type: application / json; charset = utf-8 Server: Microsoft-IIS / 8.0 X-AspNetMvc-Version: 4.0 X-AspNet-Version: 4.0.30319 X-Source-Dateien: =? UTF-8? B? YzpcdXNlcnNcbmlja1xkb2N1bWVudHNcdmlzdWFsIHN0dWRpbyAyMDEyXFByb2plY3RzXFZhbGlkYXRpb25UZXN0XEhvbWVcR2V0UGVyc29uXDE =? = X-Powered-By: ASP.NET Datum: Mi, 16 Jan 2013 14:48:34 GMT Inhaltslänge: 124
{"Vorname": "Bob", "Nachname": "Smith", "Geburtsdatum": "/ Datum (695573315098) /", "ApprovedForSomething": "/ Datum (1358261315098) /"}
Wie Sie anhand der Fiddler-Daten sehen können, wird das Datum als JSON-Datum angezeigt. Wenn Sie jedoch die POST-Methode aufrufen, ist die DateTime-Eigenschaft nicht korrekt und die DateTime-Eigenschaft ist nicht korrekt. Eigenschaft ist null.
Haben Sie die Möglichkeit, Ihr AJAX-Postback von einem WebApi ApiController
anstelle eines MVC-Controllers zu übernehmen?
Ich bin kürzlich auf dieses Problem gestoßen und habe die Unterstützung des ApiControllers für das ISO 8601-Datumsformat genutzt.
Hier ein paar Infos: Ссылка
Tags und Links asp.net-mvc-3 angularjs json asp.net-mvc-4