2015-12-21 53 views
0

我已经像波纹管一个js对象:如何将javascript对象映射到mvc模型?

$scope.docPropIdentityModel = { 
     Owner: {OwnerID:"", OwnerName: ""}, 
     }; 

我想通过Ajax调用这个对象发送到我的MVC控制器。让说,控制器是这样的:

controller(test_class model) 
{ 
} 

和模型是这样的:

test_class 
{ 
    public string Owner{get;set;}; 
}  

我在我的控制器越来越空。如何将js对象值映射到我的模型?

回答

2

YUR JSON对象包括两个不同的类。 拥有第二个对象(所有者)的顶级类。 你应该有两类:

public class TestClass { 
    public Owner owner; 

} 
public class Owner { 
    public String ownerId; 
    public String ownerName; 
} 

你用正确的命名约定JSON对象:

{ 
"owner":{"ownerId":"yourID", "ownerName":"yourOwnerName"} 
} 
+0

有没有什么办法只是OWNERID映射到我的TestClass模式? –

+0

你的TestClass应该像'publicID TestClass {public String ownerId;}'你的JSON对象像'{“ownerId”:“yourID”}'。但是,然后你丢失关于所有者名称的信息 –

+0

yap,对。好。谢谢 –

0

如果您使用的是AngularJS,请使用$http.get$http.post

控制器:

[HttpPost] 
public ReturnType Foo(YourModelClass modelClass) 
{ 
} 

的JavaScript:

$http({ 
    url: url, 
    method: 'POST',      
    data: $scope.docPropIdentityModel     
}) 
    .success(function (data) { 
     alert("OK"); 
    }) 
    .error(function (data) { 
     alert("error"); 
    }); 
相关问题