내 ASP MVC 3 프로젝트에서 다음과 같은 클래스 계층 구조가 있습니다. 일부 항목은 컨테이너를 가질 수 있으며 컨테이너는 내용을 내부에 가질 수 있습니다. 컨테이너 및 내용 클래스는 추상 클래스입니다.ASP MVC 3 ajax with json model with complex class 바인딩
나는 브라우저에서 JSON 요청을 수신하고, 엔트리 클래스의 유형 인 모델을 결합해야합니다. 문제는 DefaultModelBinder 클래스가 있어야하는 콘크리트 컨테이너의 유형을 알지 못하기 때문에 Entry 모델 클래스를 올바르게 작성하지 않았다는 것입니다. 예를 들어 :
var dataaa = { Name: 'Some Name', Containers: [{ ContainerId: 0}] };
$.ajax({
url: 'Add',
type: "POST",
data: JSON.stringify(dataaa),
contentType: 'application/json; charset=utf-8',
success: function (data) {
alert('hello');
});
+
[HttpPost]
public string Add(Entry entry)
{
return "foo";
}
다음 요청은 서버 예외로 연결 : 는 추상 클래스를 만들 수 없습니다.
{ Name: 'Some Name', Containers: [{ Type: 'FullContainer', ContainerId: 0}] };
어떻게 FullContainer 클래스에 'FullContainer'로 설정 유형 필드를 가지고 객체를 매핑하는 메커니즘을 결합 모델을 지시하는 : 나는 예를 들어 요청을 JSON으로 유형 필드를 추가 할 수 있습니까?