动态创建字段绑定到模型

时间:2019-01-16 21:36:47

标签: c# asp.net-mvc

点击添加按钮后,我将动态创建2个文本框。 一个用于姓氏,一个用于姓氏。

以下是我模型中的内容:

public List<UserName> FullName{ get; set; }

以下是与之关联的UserName类型:

public class UserName
{        
    public string firstName { get; set; }

    public string lastName{ get; set; }
}

对于名字,我的文本框名称为firstName,对于姓氏,我的文本框名称为lastName。不确定如何将所有内容绑定到我提交的位置,它将显示为“全名”列表的一部分

1 个答案:

答案 0 :(得分:0)

您需要在视图中包括input / TextBox的索引信息,因此MVC模型联编程序知道如何将其重新放入列表中,例如:

<input type="text" name="[0].FirstName" value="" />
<input type="text" name="[0].LastName" value="" />

<input type="text" name="[1].FirstName" value="" />
<input type="text" name="[1].LastName" value="" />

或者您可以使用循环:

@for (int i = 0; i < 3; i++) 
{ 
    @Html.TextBoxFor(m => m[i].FirstName)
    @Html.TextBoxFor(m => m[i].LastName)
}

有关更多信息,请参见Phil Haack's文章。


注意:我已将您的公共属性名称firstName / lastName重命名为使用PascalCase而不是camelCase。