0

我的联系方式如下:

Name: input    Email : input
Add More

如果用户想要添加另一个名称和电子邮件,她可以单击添加更多,她将看到另一组名称和电子邮件输入框。

你如何在控制器端使用 MVC 处理这个问题?

public ActionResult Process(IEnumerable<Contact> contacts){
.... ???

或者如果我需要模型绑定,我该如何完成,我的模型应该是什么?

4

2 回答 2

1

这取决于许多因素,例如您如何创建字段。这是一个很笼统的问题。

我个人会通过构建一个 json 字符串并发送到服务器来做到这一点。

另一种方法是通过以特定方式在客户端上构建元素,以便模型绑定知道它是一个集合。

我引用了@Shyju,他帮助我解决了类似的问题。

为了让您的模型绑定与新添加的动态元素一起工作,您需要遵循元素的命名约定。

诀窍是将 html 元素的 id 属性值保持为这种格式。CollectionName_ItemIndex__PropertyName

并以此格式命名属性值

CollectionName[ItemIndex].PropertyName

于 2013-06-12T10:58:40.673 回答
0

我想我会用一些

IList<Contact> Contacts; as a ViewModel. 

提交表单后,一些操作会处理。从视图的角度来看,我会使用 jQuery append() 方法来添加下一个联系人行并且不进行完整的网站刷新。

于 2013-06-12T11:01:33.693 回答