2009-06-23 7 views
2

시나리오를 사용하고 싶지만 컨트롤러에 데이터를 전달하는 데 문제가 있습니다. 다음은 내가하려는 일의 기본 예입니다.ASP.NET MVC 부분 뷰 (양식 포함)

객체 :

  • 고객 고객이에 IList<Order>있다

  • 주문. 사용자가 정보를 편집 할 수 있도록 부분보기를 원합니다. 표시 할 데이터를 얻을 수 있지만 고객 개체 아래의 양식 게시 양식이 null 인 경우.

    나는 또한 부분보기에서 별도의 양식을 사용하려고했습니다. 나는 내가 데이터를 얻을처럼 내가 컨트롤러 4. 기본값을 만들 경우이 작업을 수행 할 때 :

    public ActionResult UpdateOrders(IList<Guid> id, IList<int> quantity, IList<Guid> productId) 
    

    을하지만이

    public ActionResult UpdateOrders(IList<Order> orders) 
    

    을 수행 할 때 목록은 null입니다.

    누구든지이를 달성하는 방법에 대한 더 좋은 제안이 있다면 알려주십시오.

  • +0

    HTML을 게시 할 수 있습니까?이 질문에 도움이 될 것이라고 생각합니다. – Hugoware

    답변

    2

    보기에서 필드를 어떻게 참조하고 있습니까? 추가 정보를 binding to a list

    <input type="hidden" name="orders.Index" value="0" /> 
    <input type="hidden" name="oders[0].ID" value="1" /> 
    <input type="hidden" name="orders[0].productId" value="4" /> 
    <input type="text" name="orders[0].quantity" value="6" /> 
    
    <input type="hidden" name="orders.Index" value="1" /> 
    <input type="hidden" name="orders[1].ID" value="2" /> 
    <input type="hidden" name="orders[1].productId" value="2" /> 
    <input type="text" name="orders[1].quantity" value="15" /> 
    

    참조 필 Haack의 블로그 항목 : 나는 뭔가를해야한다고 생각하고있다.

    +0

    필드는 foreach에 의해 생성되므로 현재 동일한 ID와 이름으로 끝납니다. – cjibo

    +0

    귀하의 제안은 해결책을 찾도록 안내합니다. 나는 그것을 잊어 버린 .index 라인을 추가해야했다. 아직 유청은 우리가 도우미를 가지고 있지 않다는 것을 확신하지 못합니다. – cjibo

    +0

    @cjibo : 인덱스 작성을 위해이 게시물을 고려하고 싶을 수 있습니다 ... http://stackoverflow.com/questions/5013578/create-views-for-object-properties-in-model-in-mvc- 3-application 즉, Guides로 이름을 생성하는 코드베이스를 제공하는 Steve Sanderson의 블로그 링크를 살펴보십시오.이 코드는 매우 잘 작동합니다. –