我的联系方式如下:
Name: input Email : input
Add More
如果用户想要添加另一个名称和电子邮件,她可以单击添加更多,她将看到另一组名称和电子邮件输入框。
你如何在控制器端使用 MVC 处理这个问题?
public ActionResult Process(IEnumerable<Contact> contacts){
.... ???
或者如果我需要模型绑定,我该如何完成,我的模型应该是什么?
我的联系方式如下:
Name: input Email : input
Add More
如果用户想要添加另一个名称和电子邮件,她可以单击添加更多,她将看到另一组名称和电子邮件输入框。
你如何在控制器端使用 MVC 处理这个问题?
public ActionResult Process(IEnumerable<Contact> contacts){
.... ???
或者如果我需要模型绑定,我该如何完成,我的模型应该是什么?
这取决于许多因素,例如您如何创建字段。这是一个很笼统的问题。
我个人会通过构建一个 json 字符串并发送到服务器来做到这一点。
另一种方法是通过以特定方式在客户端上构建元素,以便模型绑定知道它是一个集合。
我引用了@Shyju,他帮助我解决了类似的问题。
为了让您的模型绑定与新添加的动态元素一起工作,您需要遵循元素的命名约定。
诀窍是将 html 元素的 id 属性值保持为这种格式。CollectionName_ItemIndex__PropertyName
并以此格式命名属性值
CollectionName[ItemIndex].PropertyName
我想我会用一些
IList<Contact> Contacts; as a ViewModel.
提交表单后,一些操作会处理。从视图的角度来看,我会使用 jQuery append() 方法来添加下一个联系人行并且不进行完整的网站刷新。