ASP.NET绑定自定义对象列表以动态生成表单

时间:2018-02-27 11:51:52

标签: asp.net-mvc dynamic entity-framework-6 model-binding

我今天在这方面遇到了很多困难,我希望这篇文章可以帮助其他人

案例

我有一个表单,必须包含动态数量的字段,具体取决于用户输入。此表单的模型是比赛

public int NumberOfRounds { get; set; }
public List<Round> Rounds { get; set; }

Round 模型如下所示:

public int Length { get; set; }

NumberOfRounds字段表示轮次 比赛包含的数量。根据用户输入的js script的{​​{1}},我使用简单的"change" event listenervalue添加其他输入字段。

问题是如何将这些输入字段绑定到我的NumberOfRounds模型,以便在Contest属性中获取它们的值。

1 个答案:

答案 0 :(得分:0)

密钥位于Round.Length标记的name属性中。在HTML的顶部,我定义了View。这会将View的上下文设置为@model Contest对象。现在我们可以使用Contest属性将输入值绑定到相应的模型属性。

我建议将此article作为对List属性的模型绑定的良好读数。此topic也提供了更具体的信息。

在我们的例子中,我们有一个name属性。我们如何将每个输入绑定到每个List<Round> Rounds。简单地说:

Round.Length

{index} Rounds 列表中的位置,用于保存当前输入的<input ... name="Rounds[{index}].Length" 。确实,这很简单,但我认为这个问题的一个明显例子对新手来说非常有用。希望它有所帮助:)