2010-02-10 2 views
2

나는 다음과 같은 복잡한 모델이 있습니다 카테고리 -이 -> 목록이있다 -> 목록복잡한 강력한 형식의 객체 + 기본 ModelBinder를

내가 만들려고 노력하고 있어요을 나는 기존의 모든 범주를 당길 수있는 조치를 생성 하위 항목을 포함하여 각 카테고리별로 하나씩 List를 삽입하십시오. 예를 들면 : -Cat1 - NewItemGroup1 --- NewItem1 --- NewItem2 --- NewItem3 --- NewItem4

-Cat2 - NewItemGroup2 --- NewItem1 --- NewItem2 --- NewItem3 --- NewItem4

제 질문은 기본 모델 바인더를 사용하여 얻을 수 있습니까? 또는 다른 것을 사용해야합니까? 얼마나 많은 일이 추가 될 것인가?

감사합니다.

답변

3

기본 모델 바인더로 복잡한 개체와 목록을 만들 수 있습니다. 게시 된 데이터의 색인을 생성하여 올바르게 파악할 수 있습니다.

Phil Haack의 기사 Model Binding to a List은 필요한 작업을 다루고 있습니다. 간단히 말해서, 그래서 같은 숨겨진 필드 단지 색인 목록 필드 :

<input type="hidden" name="products.Index" value="0" /> 
<input type="text" name="products[0].Name" value="Beer" /> 
<input type="text" name="products[0].Price" value="7.32" /> 

명명 된 products.Index 필드는 "제품"목록에 대한 인덱스 "0"이 있음을 설명합니다. Name 및 Price 필드는 인덱스 0에있는 객체의 속성입니다. 인덱스는 정수가 아니어도되므로 사전에 바인딩하는 경우 아무 것도 인덱스 값으로 사용할 수 있습니다.

+0

이전에이 해결책을 보았습니다.하지만 제 경우에는 다른 목록에있는 목록입니다. 그래서, 내가 정말로 기본 모델 바인더에 의지 할 수 있는지 궁금합니다. – OneDeveloper

+0

예, 가능합니다. 너는 그러나 너의 재산 이름을 깊이 중첩시킬 수있다. Category1 [0] .NewItemGroup1 [0] 등 – womp

+0

이 될 수 있습니다. 정말 도움이됩니다. thnx! – OneDeveloper