.Net MVC - 子集合的回发总是空的

时间:2017-12-08 10:21:37

标签: asp.net asp.net-mvc serialization

网站上有很多关于此的问题,但我找不到真正复制或解决我问题的问题。

给出这样的模型:

order by

我在视图中渲染它们:

public class Tnc
{
    public virtual Customer Customer { get; set; }

    public int ListTncId { get; set; }
    public int CustomerId { get; set; }
    public bool AcceptsTnc { get; set; }    
}

public class Customer
{
    List<Tnc> Tncs { get; set; }
    // other properties
}

但是当客户模型回发到控制器时,@for (int i = 0; i < Model.Tncs.Count; i++) { @Html.HiddenFor(model => model.Tncs.ElementAt(i).ListTncId) @Html.HiddenFor(model => model.Tncs.ElementAt(i).CustomerId) <dd class="checkbox-dd">@Html.EditorFor(model => model.Tncs.ElementAt(i).AcceptsTnc)</dd> } 集合始终为空(没有子项,而不是null)。

我的理解是,如果您将基本ID作为表单的一部分包含在内,则会在回发时重新组合对象。但是,我的理解显然是错误的。我认为它与所有隐藏字段具有相同Tncsname属性的事实有关:

id

回发到控制器时,有没有办法重新连接这些数据?

0 个答案:

没有答案