2015-12-21 3 views
0

Я объект JS, как ниже:Как сопоставить объект javascript с моделью mvc?

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

Я хочу послать этот объект в моей MVC контроллер через AJAX вызова. Пусть говорят, контроллер, как:

controller(test_class model) 
{ 
} 

и модель, как:

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

Я получаю нуль в мой контроллер. Как сопоставить значение объекта js с моей моделью?

ответ

2

Юр объект 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 должен быть похож на «публичный класс 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"); 
    }); 
Смежные вопросы