2010-04-28 5 views
3

그래, 그래서 난 정말 MVC 바인딩 모델링 비교적 새로운 해요, 내 질문은 이것이다 : 나는 그와 html 헬퍼를 사용합니까 어떻게는 IEnumerable 속성을 가진 모델을 사용하는 경우에는MVC2 모델 바인딩 Enumerables?

것은 내가 제출할 수 있습니다 해당 모델 유형을 취하는 액션으로 이동합니다.

모델 예 :

public class FooModel { 
    public IEnumerable<SubFoo> SubFoos { get; set; } 
} 
public class SubFoo { 
    public string Omg { get; set; } 
    public string Wee { get; set; } 
} 

보기 싹둑 : 당신이 배열 사용할 수

<%foreach(var subFoo in Model.SubFoo) { %> 
    <label><%:subfoo.Omg %></label> 
    <%=Html.TextBox("OH_NO_I'M_LOST") %> 
<%} %> 

답변

2

대신 IEnumerable<SubFoo> :

public class FooModel { 
    public SubFoo[] SubFoos { get; set; } 
} 

와 다음 뷰 :

<% for (var i = 0; i < Model.SubFoo.Length; i++) { %> 
    <label><%:subfoo.Omg %></label> 
    <%=Html.TextBoxFor(x => x.SubFoo[i].Omg) %> 
<%} %> 

또 다른 가능성은 IEnumerable<SubFoo>을 유지하는 것입니다하지만,이 경우에 당신은 강력한 형식의 도우미 사용할 수 없습니다

<% for (var i = 0; i < Model.SubFoo.Count(); i++) { %> 
    <label><%:subfoo.Omg %></label> 
    <%=Html.TextBox("SubFoo[" + i + "].Omg") %> 
<%} %>