2011-12-20 4 views
0

내가이 개 수업이 있습니다EditorFor + foreach는 + 복합 형

public class Poll 
{ 
    //... 
    public virtual ICollection<Answer> Answers { get; set; } 
} 

public class Answer 
{ 
    public int Id { get; set; } 
    [Required] 
    public string Content { get; set; } 
    private int _amount = 0; 
    public int Amount 
    { 
     get { return _amount; } 
     set { _amount = value; } 
    } 
} 

을 그리고 내가 편집기보기를 확인해야합니다. 나는이 시도하는 경우 :

@foreach (var answer in Model.Answers) 
{ 
    @Html.EditorFor(model => answer) 
} 

그것은 편집을 위해 모든 것을 보여 주지만, 변경 사항을 저장 나던. Controller recieves poll.Answers = null

+0

혹시이 알아낼 했습니까? 나는 비슷한 상황에 처해있다. –

+0

@JoFlash, 다음과 같이 someyhing으로 해결했습니다 : http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/ – Wonder

답변

0

이는 편집자가 수행하는 고급 ID/이름 생성을 우회하기 때문입니다. 컨텍스트/스코프 메타 데이터없이 각 편집기를 개별적으로 렌더링하므로 편집기 렌더러는 단순히 전달 된 모델이 최상위 모델 인 것처럼 렌더링합니다.

확인 대한 추가 정보를 원하시면이 질문 :

using Html.EditorFor with an IEnumerable<T>

+0

다음과 같이 시도했지만 시도하지 않았습니다. 도움. – Wonder