나는 어떻게해야하는지 알 수없는 상황이 있습니다. 컨트롤러에서 보낸 JSON 개체에 항목을 추가하려고합니다.JSON 개체에 항목 추가
public class Model1
{
public Model2 item {get;set;}
public List<Model2> items {get;set;}
//
을 그리고 페이지
var jsonData = @Html.Raw(JSON.Encode(Model))
이 나에게 기본적이지만 빈 모델을 제공합니다
여기 내 모델입니다. 이제이 페이지에서 다양한 필드를 채우고 항목을 모델에 추가하여 게시하려고합니다. 그래서 :
jsonData.item.field1 = $("#field1").val();
은 그럼 항목의 목록에 추가 할,하지만 작동 아무것도 찾을 수 없습니다 :
jsonData.items.add(jsonData.item)
이 작동하지 않는 오류가 발생합니다.
jsonData.items.push(jsonData.item);
작동하지만 추가 한 모든 항목이 동일하게 끝납니다. 두 번째 항목을 추가 할 때 목록에 두 개가 있지만 동일한 값이 있음을 의미합니다. 어떤 도움을 주시면 감사하겠습니다.
언제'jsonData.item'이 새로운 값을 얻고 있습니까? 만약 당신이 그것을 변경하지 않는다면 매번 같을 것입니다. – pollirrata
당신의 문제는 JSON과 관련이 없지만, 자바 스크립트에서 배열과 객체가 작동하는 방식과 관련이 있습니다. 'jsonData'는 JSON가 아닌 * object *입니다. 이미 설명한대로 새로운 값을'jsonData.item'에 할당하지 않으면 새로운 값을 생성하지 않고 기존 값을 변경하는 것입니다. –
당신은 더 명확하고, 적절한 코드를 게시 할 수 있습니다 @ pollirrata에 의해 나는 그 값을 한 번 이상 변경하지 않을 것이라고 생각합니다. – dariogriffo