@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<div id="elem">
<div class="fields">
<select name="items[1][0]" id="items[1][0]">
<option value="1">Book</option>
<option value="2">Brush</option>
</select>
<input type="text" value="1" name="items[1][1]" id="items[1][1]">
<a id="test" href="#">Remove Item</a>
</div>
</div>
</div><a href="#" id="addElem">Add Item</a></div>
<br />
<input type="submit" name="name" value="Submit" />
}
基本上,它有一个两个字段的集合名称字段和序列字段,但在二维数组中定义。 Add Item
链接的工作原理是,当用户点击时,它将使用JavaScript添加一组新的字段,其ID为当前时间var new_id = new Date().getTime();
。因此,例如,一组新的领域将是:c#表单元素的数组
<div class="fields">
<select name="items[1368034980308][0]" id="items[1368034980308][0]">
<option value="1">Book</option>
<option value="2">Brush</option>
</select>
<input type="text" name="items[1368034980308][1]" id="softwarePerAsset[1368034980308][1]">
</div>
我想将它们提交给编辑诉讼,但该编辑动作将通过items
阵列,并新增两个领域。
我的编辑操作是这样的:
[HttpPost]
public ActionResult Edit(FormCollection col, string[,] items)
{
return View();
}
我设置了一个破发点上的这个动作,但items
数组是空的,我只能通过FormCollection col
变量访问的字段。
有没有我丢失的items
阵列没有被正确设置。
如果否决,请做护理和评论为什么。谢谢。 – mpora 2013-05-08 17:56:40
是我第一次看到这个。通常要在表单中获取数组,只需要在数组名称和输入后添加一个空[]。我认为你最好的选择是使用jQuery与数组构建一个JSON,并在后期发送JSON。 – 2013-05-10 19:09:44
是的,这是我最终做的。我的解决方案发布如下。 – mpora 2013-05-10 19:16:36