2015-12-21 90 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"); 
    });