好的,所以我对 MVC 中的模型绑定(bind)相当陌生,真的,我的问题是:
如果我有一个带有 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") %>
<%} %>
最佳答案
您可以使用数组代替 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") %>
<%} %>
关于asp.net-mvc - MVC2 模型绑定(bind)枚举?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2730296/