繁体   English   中英

如何使用jQuery和Ajax将动态对象列表发送到MVC中的控制器

[英]How to send a dynamic list of objects to controller in MVC using jQuery and Ajax

我正在用对象动态填充表单,允许编辑新字段,然后尝试将表单提交到其他不同对象类型的列表。

我当前正在使用Ajax表单来执行此操作,但是<label for=>属性未与其他属性一起发送到局部视图结果。

我的控制器局部视图结果如下:

[HttpPost]
public PartialViewResult AddToOrder(IList<OrderItemModel> form_list)
{ 
    // do something
}

我认为Ajax表单如下:

@using (Ajax.BeginForm("AddToOrder", "Order", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "result" }))
{
   for (int i = 0; i < Model.Count; i++)
   {
    <tr>
       <input type="hidden" name="form_list[@i].item_id" value="@Model[i].id" />
       <td><label for="form_list[@i].description">@Model[i].description</label></td>
       <td><label for="form_list[@i].price">@Model[i].price</label></td>
       <td><input type="text" name="form_list[@i].quantity"  value="0" /></td> 
    </tr>
   }

   <td><input type="submit" value="Add to order"/></td>
}

如果我将标签复制为<input type="hidden">属性,我需要的所有字段都将发送到局部视图结果,但是有没有更好的方法可以使用jQuery而不是Ajax表单呢?

标签永远不会通过HTTP POST提交。 <input><select><textarea>元素是。

如果要传回这些值,则可以像现在一样使用隐藏的输入字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM