3

好的,所以我对 MVC 中的模型绑定相当陌生,真的,我的问题是:

如果我有一个具有 IEnumerable 属性的模型,我该如何使用 HtmlHelper 以便我可以提交到采用该模型类型的 Action。

模型示例:

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") %>
<%} %>
4

1 回答 1

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") %>
<%} %>
于 2010-04-28T14:47:19.917 回答