无法模型绑定视图模型中的集合

水冷却器v2

我有这样的看法:

@model Foo

@Html.DisplayFor(model => model.FooName);

@{
  int counter = -1;
  }
@foreach(var bar in Model.Bars)
{
  counter++;
  <tr>
    <td><span name = "Bars[@counter].BarName">@bar.BarName</span></td>
  </tr>
}

在哪里:

class Foo
{
  public string FooName { get; set; }

  public ICollection<Bar> Bars { get; set; }
}

class Bar
{
  public string BarName { get; set; }
}

即使我的观点是正确的,但是当我回发Foo时,它也不会回发其Bars

public ActionResult DoStuffWithFoo(Foo foo)
{
  Debug.Assert(foo.Bars != null); // fails
}

我已经从这个问题中省略了不必要的和显而易见的部分,例如表格的标记。

特奥·范·科特

您应该了解,在form发布时,您只发布了值,inputs因此您应该这样:

@for(var i = 0; i < Model.Bars.Count(); i++)
{
  <tr>
    <td><span>@Html.TextBoxFor(x=> Model.Bars[i].BarName)</span></td>
  </tr>
}

Html.TextBoxFor帮助程序创建input,您可以将其发布到控制器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章