MVC의 속성 클래스에 Json 데이터 바인딩을 모델링하려고 시도했습니다. 개체 2가 컨트롤러로 전달됩니다. 확인을 클릭합니다. 개체 3 목록 목록이며 내 데이터 구조가 자바 스크립트에서 올바른지 모르겠습니다.json을 사용하여 mvc 컨트롤러에 객체 배열 전달
BlockEntrances 데이터 (배열 크기)를 받았지만 BlockEntranceButtons 데이터를받지 못했습니다.
"BlockEntranceButtons"는 Json 문자열에 있어야한다고 생각하면 나타나지 않습니다.
누군가 올바른 방향으로 나를 가리켜 주시겠습니까?
편집 :
변경된 3 단계에서 2 단계 개체. Json 문자열은 내가 원하는 것처럼 보이지만 내 컨트롤러는 여전히 Null 값을 받고 있습니다.
자바 스크립트 :
Step2 = {};
Step2.MainEntranceButtons = [0, 1, 2, 3, 4, 5, 6, 7, 8]
Step3 = {};
Step3.BlockEntrances = {};
Step3.BlockEntrances.BlockEntranceButtons = [];
Step3.BlockEntrances.BlockEntranceButtons[0] = [1, 2, 3, 4, 5, 6, 7, 8];
Step3.BlockEntrances.BlockEntranceButtons[1] = [8, 7, 6, 5, 4, 3, 2, 1];
Step3.BlockEntrances.BlockEntranceButtons[2] = [5, 5, 5, 5, 5, 5, 5, 5];
var StringToPost = JSON.stringify({ Step2Object: Step2, Step3Object: Step3 });
$.ajax({
url: "/Home/CollectJson1/",
type: 'POST',
contentType: "application/json",
dataType: 'html',
data: StringToPost,
success: function (data) {
console.log(data);
}
});
컨트롤러 :
<HttpPost>
Function CollectJson1(ByVal Step2Object As Step2Data, ByVal Step3Object As Step3Data) As JsonResult
Return Json(Step3Object)
End Function
클래스 :
Public Class Step2Data
Public Property MainEntranceButtons As List(Of String)
End Class
Public Class Step3Data
Public Property BlockEntrances As List(Of Step3SubData)
End Class
Public Class Step3SubData
Public Property BlockEntranceButtons As List(Of String)
End Class
JSON 데이터 오브젝트 4에 대한 게시 :
{"Step3Object":{"BlockEntrances":{"BlockEntranceButtons":[[1,2,3,4,5,6,7,8],[8,7,6,5,4,3,2,1],[5,5,5,5,5,5,5,5]]}}}
아니요. 배열 색인에는 이름이 없으므로 no입니다. 그리고 만약 그렇게했다면, BlockEntranceButtons라고 불리는 3 가지가 있습니다. 어떻게 구별 할 수 있니? BlockEntrances의 각 인덱스에 _object_를 추가하고, 그 안에 ID가 있고 BlockEntranceButtons라는 또 다른 속성이 있습니까? 그것은 일종의 논리적 인 감각을 만들 것입니다 - 3 개의 서로 다른 출입구를위한 버튼 세트? – ADyson
예, 그게 무슨 뜻인지, 미안, 포인트가 분명히 나타나지 않았다면. –