lik*_*ski 8 json asp.net-mvc-3 asp.net-mvc-4 angularjs
我正在使用Angular JS来获取和发布数据到我的MVC 4控制器作为JSON.除DateTime/DateTime外,我的所有属性都正确转换?类型.我希望有一个"设置并忘记它"处理日期的方法,以便添加的新类和/或属性不必记住进行一些特殊的转换以正确处理日期.我已经看到了以下方法和可能的缺点.人们在同一平台上使用什么方法?MVC4中是否存在正确处理此问题的内容,我可能没有配置?任何建议将不胜感激.
请参阅以下代码示例.C#类:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime BirthDate { get; set; }
public DateTime? ApprovedForSomething { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
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);
});
}
}
Run Code Online (Sandbox Code Playgroud)
小提琴手:
HTTP/1.1 200 OK Cache-Control:private Content-Type:application/json; 字符集= UTF-8服务器:Microsoft-IIS/8.0 X-AspNetMvc-版本:4.0 X-ASPNET-版本:4.0.30319 X-SourceFiles:????= UTF-的8B YzpcdXNlcnNcbmlja1xkb2N1bWVudHNcdmlzdWFsIHN0dWRpbyAyMDEyXFByb2plY3RzXFZhbGlkYXRpb25UZXN0XEhvbWVcR2V0UGVyc29uXDE = = X供电,通过: ASP.NET日期:2013年1月16日星期三14:48:34 GMT内容长度:124
{ "姓": "鲍勃", "名字": "史密斯", "出生日期": "/日期(695573315098)/", "ApprovedForSomething": "/日期(1358261315098)/"}
正如您在Fiddler数据中看到的那样,日期将作为JSON日期过来,但是当遇到POST方法时,DateTime属性不正确并且DateTime?property为null.

您是否可以选择将 AJAX 回发切换为由 WebApiApiController而不是 MVC 控制器处理?
我最近遇到了这个问题,并利用了 ApiController 对 ISO 8601 日期格式的支持。
以下是一些信息: http://www.hanselman.com/blog/OnTheNightmareThatIsJSONDatesPlusJSONNETAndASPNETWebAPI.aspx
| 归档时间: |
|
| 查看次数: |
12445 次 |
| 最近记录: |