MVC 5使用jquery添加动态字段以将其保存到模型中

Dav*_*ury 2 c# jquery asp.net-mvc-5

是否有可能在MVC 5中有一个表单,您可以使用jQuery添加动态字段: JSFiddle

然后使用MVC将这些字段发布到模型中?

事实上,我想要保存这些值的viewmodel List<string>是保存所有这些值的地方.

小智 5

在动态添加输入时,您需要确保它们被正确命名/索引以进行回发.例如,如果您的帖子操作方法是

[HttpPost]
public ActionResult Edit(List<string> text)
{
  ...
Run Code Online (Sandbox Code Playgroud)

然后你的输入需要命名

<input name="[0].text" value=.../>
<input name="[1].text" value=.../>
<input name="[2].text" value=.../>
Run Code Online (Sandbox Code Playgroud)

因此您需要修改脚本以创建正确的名称属性.请注意,索引需要从零开始并且是顺序的,因此您需要考虑如果用户删除列表中间的输入会发生什么.

  • 例如`List <Employee>`和`Employee`有属性`FirstName`和`LastName`,那么输入将是`<input name ="employees [0] .FirstName"...`和`<input name = "employees [0] .LastName"...`和回发到`public ActionResult Edit(List <Employee> employees)` (2认同)