如果集合包含两个元素,则表单不会将集合发送到控制器

时间:2016-12-11 23:28:08

标签: c# asp.net-mvc

我的应用程序允许用户将高尔夫记分卡存储在SQL数据库中。然后,用户可以检索记分卡,编辑它们并保存更改。 Scorecard类包含Teebox类的实例列表。 Teebox类包含一个名称属性和一个Tee类的实例列表,其中包含每个高尔夫球洞的码数。

在允许用户编辑记分卡的视图中(如下面的相关部分所示),for循环为每个Teebox实例和Tee实例生成输入。 (以下代码仅适用于9洞课程,这就是为什么第二个循环迭代9次。)如果记分卡包含一个Teebox实例或两个以上的Teebox实例,则表单正确提交给控制器。但是,如果记分卡恰好包含两个Teebox实例,则控制器会收到Teebox实例列表的“null”。

以下是视图中代码相关部分的副本。

@for (int i = 0; i < Model.TeeBoxes.Count; i++)
{
    <tr>
        <td>@Html.EditorFor(m => m.TeeBoxes[i].Name)</td>
        @for (int x = 0; x < 9; x++)
        {
            <td>@Html.EditorFor(m => m.TeeBoxes[i].Tees[x].Yardage)</td>
        }
    </tr>
}

我感谢任何帮助。感谢。

0 个答案:

没有答案