jQuery에서 양식 제출시 엔티티의 하위 엔티티 가져 오기

제페 크리스텐슨

EF에 관련된 두 개의 테이블이 있다고 가정합니다.

public partial class Table1 
{
    public int Id {get; set;}
    public int Table2Id {get; set;}
    public virtual Table2 Table2 {get; set}
}
public partial class Table2 
{
    public Table2()
    {
        Table1 = new HashSet<Table1>
    }

    public int Id {get; set;}
    public string datastring {get; set;}
    public virtual Icollection<Table1> Table
}

나는 이것을 분명히 단순화했지만 실제 문제와 충분히 비슷합니다.

일반적으로 단일 테이블 인 경우 jQuery의 양식 제출에서 데이터를 쉽게 추출 할 수 있습니다. 나는 이것을 좋아합니다.

form.serializeArray();

그러나이 경우 실제 테이블의 '하위'테이블에 들어가는 내 양식에서 데이터를 추출하고 싶습니다.

<div class="container">
    <form id="MyForm">
        <input name="Table1.Table2.dataString" />
        <button type="submit">save</button>
    </form>
</div>

이 시나리오가 .net MVC에서 지원된다는 느낌이 들지만 '하위'테이블에 속한다는 것을 이해하기 위해 실제로 이름을 지정하는 방법을 모릅니다.

빠르고 더러운 방법은 내 양식의 모든 입력 필드를 대상으로하는 것입니다. 그러나 그것은 큰 형태이기 때문에 내가 정말로 선택자 광기를 피하고 싶은 이유입니다.

최신 정보:

아직 컨트롤러를 만들지 않았지만 다음과 같이 Table1 개체를 받아야한다고 생각합니다.

public ActionResult UpdateTables(Table1 table1)
{
    //Logic to call serviceclass
}
제르 딘 세이지

동기 POST (AJAX 아님)에서 하위 레코드는 인덱스별로 배치되어야합니다.

<input name="Table1.Id" value="1">

<input name="Table1.Table2[0].Id" value="1">
<input name="Table1.Table2[0].datastring" value="1A">

<input name="Table1.Table2[1].Id" value="2">
<input name="Table1.Table2[1].datastring" value="2B">

<input name="Table1.Table2[2].Id" value="3">
<input name="Table1.Table2[2].datastring" value="3C">

AJAX를 사용하고 컨트롤러 액션이 Table1 유형의 객체를 허용한다면;

public ActionResult UpdateTables(Table1 table1)
{
    //Logic to call serviceclass
}

그런 다음 다음과 같이 json 개체를 형식화해야합니다 (form.Serialize가 작동하지 않으며 자식 엔터티를 반복하여 수동으로 형식을 지정해야합니다).

{
   Id: 1,
   Table2: [
      { Id: 1, datastring: "1A" },
      { Id: 2, datastring: "2B" },
      { Id: 3, datastring: "3C" }
   ]
}

HTML에 클래스가있는 div 인 하위 항목에 대한 래퍼를 추가하는 것이 좋습니다.

<div class="child">
   <input name="Table1.Table2[0].Id" value="1">
   <input name="Table1.Table2[0].datastring" value="1A">
</div>

<div class="child">
   <input name="Table1.Table2[1].Id" value="2">
   <input name="Table1.Table2[1].datastring" value="2B">
</div>

따라서 해당 child클래스를 반복 하고 Table2 배열을 채울 수 있습니다.

var childArray = [];

// loop through elements with child class and access the input fields and assign to an array
$(".child").each(function(){
   var id = $(this).find("input").eq(0).val();
   var datastring = $(this).find("input").eq(1).val();

   var childObject = {id:id,datastring:datastring};
   childArray.push(childObject);
});

// create your json to submit via ajax
var jsonToSubmitToController = {
   Id: $("#table1Id").val(),
   Table2: childArray
};

여기에 설명 된 json이 작동하지 않는 경우 form.Serialize; 양식 직렬화를 사용하는 JSON 개체 게시가 C # 개체에 매핑되지 않음 `

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

하위 엔티티의 필드를 기반으로 Hazelcast 맵에서 엔티티를 가져 오는 방법

분류에서Dev

Symfony2 다른 엔티티에있는 엔티티의 엔티티 가져 오기

분류에서Dev

Symfony / Doctrine : 심포니가 양식 제출시 엔티티로이를 해결하기 전에 관계의 ID 확인

분류에서Dev

양식 이벤트 리스너에서 기본 데이터 엔티티를 형성하도록 링크 된 엔티티를 가져올 수 없습니다.

분류에서Dev

내가 이해하지 못하는 하나의 양식 문제에서 여러 엔티티를 심포니

분류에서Dev

SpringData를 사용하여 엔티티 ID로 엔티티에서 임베디드 오브젝트 가져 오기

분류에서Dev

기존 엔티티를 symfony2에 포함 된 양식에 매핑하는 데 문제가 있습니다.

분류에서Dev

Xtext DSL을 사용하여 엔티티에서 하위 요소를 가져 오는 표현식 만들기

분류에서Dev

linq를 엔티티에 사용하여 관련 엔티티를 기반으로 레코드 가져 오기

분류에서Dev

제출할 양식을 취소하고 엔티티의 데이터를 변경하지 마십시오.

분류에서Dev

부모 엔터티 EFCore 가져 오기에 자식 엔터티로드

분류에서Dev

Symfony-다른 엔티티 내에서 엔티티 가져 오기

분류에서Dev

modelsim에서 vhdl 엔티티의 종속성 가져 오기

분류에서Dev

동일한 엔티티의 내부 조인에서 Hibernate 엔티티 가져 오기

분류에서Dev

CoreData에서 모든 엔티티의 모든 하위 엔티티를 가져옵니다.

분류에서Dev

HTML 엔티티의 일부가 아닌 경우 세미콜론 주위에 공백을 추가하십시오.

분류에서Dev

특정 관련 엔티티를 제외한 대다 관계에서 항목을 가져 오기위한 NSPredicate

분류에서Dev

하나의 양식에 여러 엔티티

분류에서Dev

엔티티가 첨부되지 않은 상태에서 검색 양식에서 매개 변수 가져 오기

분류에서Dev

도메인 기반 설계-상위 엔티티에 대한 엔티티의 하위 순서

분류에서Dev

웹 사이트에서 제목 가져 오기, HTML 엔티티 디코딩

분류에서Dev

하위 엔티티가 고유 필드 중 하나에 의해 초기화 될 때 엔티티를 저장하면 org.springframework.dao.InvalidDataAccessApiUsageException이 발생합니다.

분류에서Dev

JPA 엔티티에 대한 하위 연관을 가져 오는 방법

분류에서Dev

내 dbContext의 Add 메서드가 PK 제약 오류를 일으키는 2 개의 상위 엔티티와 1 개의 하위 엔티티를 추가하는 이유

분류에서Dev

테스트 프레임 워크에 엔티티에 기본 제공 엔티티에 대해 정의 된 키가 없다고 표시됨

분류에서Dev

엔티티가 이미 Symfony2의 EntityManager에 지속되었는지 확인하십시오.

분류에서Dev

응답 엔터티 json에서 하나의 필드 가져 오기

분류에서Dev

열에서 국가 이름 (또는 기타 엔티티) 추출

분류에서Dev

양식에 포함 된 엔티티와 플러시 할 때 Symfony3 오류

Related 관련 기사

  1. 1

    하위 엔티티의 필드를 기반으로 Hazelcast 맵에서 엔티티를 가져 오는 방법

  2. 2

    Symfony2 다른 엔티티에있는 엔티티의 엔티티 가져 오기

  3. 3

    Symfony / Doctrine : 심포니가 양식 제출시 엔티티로이를 해결하기 전에 관계의 ID 확인

  4. 4

    양식 이벤트 리스너에서 기본 데이터 엔티티를 형성하도록 링크 된 엔티티를 가져올 수 없습니다.

  5. 5

    내가 이해하지 못하는 하나의 양식 문제에서 여러 엔티티를 심포니

  6. 6

    SpringData를 사용하여 엔티티 ID로 엔티티에서 임베디드 오브젝트 가져 오기

  7. 7

    기존 엔티티를 symfony2에 포함 된 양식에 매핑하는 데 문제가 있습니다.

  8. 8

    Xtext DSL을 사용하여 엔티티에서 하위 요소를 가져 오는 표현식 만들기

  9. 9

    linq를 엔티티에 사용하여 관련 엔티티를 기반으로 레코드 가져 오기

  10. 10

    제출할 양식을 취소하고 엔티티의 데이터를 변경하지 마십시오.

  11. 11

    부모 엔터티 EFCore 가져 오기에 자식 엔터티로드

  12. 12

    Symfony-다른 엔티티 내에서 엔티티 가져 오기

  13. 13

    modelsim에서 vhdl 엔티티의 종속성 가져 오기

  14. 14

    동일한 엔티티의 내부 조인에서 Hibernate 엔티티 가져 오기

  15. 15

    CoreData에서 모든 엔티티의 모든 하위 엔티티를 가져옵니다.

  16. 16

    HTML 엔티티의 일부가 아닌 경우 세미콜론 주위에 공백을 추가하십시오.

  17. 17

    특정 관련 엔티티를 제외한 대다 관계에서 항목을 가져 오기위한 NSPredicate

  18. 18

    하나의 양식에 여러 엔티티

  19. 19

    엔티티가 첨부되지 않은 상태에서 검색 양식에서 매개 변수 가져 오기

  20. 20

    도메인 기반 설계-상위 엔티티에 대한 엔티티의 하위 순서

  21. 21

    웹 사이트에서 제목 가져 오기, HTML 엔티티 디코딩

  22. 22

    하위 엔티티가 고유 필드 중 하나에 의해 초기화 될 때 엔티티를 저장하면 org.springframework.dao.InvalidDataAccessApiUsageException이 발생합니다.

  23. 23

    JPA 엔티티에 대한 하위 연관을 가져 오는 방법

  24. 24

    내 dbContext의 Add 메서드가 PK 제약 오류를 일으키는 2 개의 상위 엔티티와 1 개의 하위 엔티티를 추가하는 이유

  25. 25

    테스트 프레임 워크에 엔티티에 기본 제공 엔티티에 대해 정의 된 키가 없다고 표시됨

  26. 26

    엔티티가 이미 Symfony2의 EntityManager에 지속되었는지 확인하십시오.

  27. 27

    응답 엔터티 json에서 하나의 필드 가져 오기

  28. 28

    열에서 국가 이름 (또는 기타 엔티티) 추출

  29. 29

    양식에 포함 된 엔티티와 플러시 할 때 Symfony3 오류

뜨겁다태그

보관