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