我无法找出解决一个相当简单的问题的最佳方法。
我有一个付款 View 模型,其中包含可用付款列表和一些基本属性,例如标题、内容...
因此,在我看来,我使用 @using(Html.BeginForm())
,并在其中循环付款并渲染每个项目,当然还有我在 Controller 中收到的 View 模型帖子有付款方式的空列表。
我可以看到,如果我使用 for
并打印出 model. paymentMethods[i].Prop
,它就可以映射它,但这是正确的方法还是可以我做了一些更聪明的事情?
最佳答案
为了使模型绑定(bind)器正常工作,您需要使用索引访问。
@foreach (var item in Model.PaymentMethods)
{
@Html.EditorFor(m => item.Prop);
}
不不工作。
您需要使用:
@for (int i = 0; i < m.PaymentMethods.Count(), ++i)
{
@Html.EditorFor(m => m.PaymentMethods[i].Prop);
}
否则模型绑定(bind)器无法在回发中将其映射回。
关于c# - 将 IEnumeration 项目发布到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24886084/